From: Minkyu Kang <mk7.kang@samsung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/9] video:mipidsim:fdt: Add DT support for mipi dsim driver
Date: Fri, 07 Feb 2014 16:53:00 +0900 [thread overview]
Message-ID: <52F490DC.8050308@samsung.com> (raw)
In-Reply-To: <1390832143-372-3-git-send-email-p.wilczek@samsung.com>
On 27/01/14 23:15, Piotr Wilczek wrote:
> This patch enables parsing mipi data from device tree.
> Non device tree case is still supported.
>
> Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> Cc: Minkyu Kang <mk7.kang@samsung.com>
> ---
> arch/arm/include/asm/arch-exynos/mipi_dsim.h | 3 +
> drivers/video/exynos_mipi_dsi.c | 98 ++++++++++++++++++++++++++
> include/fdtdec.h | 1 +
> lib/fdtdec.c | 1 +
> 4 files changed, 103 insertions(+)
>
> diff --git a/arch/arm/include/asm/arch-exynos/mipi_dsim.h b/arch/arm/include/asm/arch-exynos/mipi_dsim.h
> index 40aca71..c9e8e06 100644
> --- a/arch/arm/include/asm/arch-exynos/mipi_dsim.h
> +++ b/arch/arm/include/asm/arch-exynos/mipi_dsim.h
> @@ -12,6 +12,7 @@
>
> #include <linux/list.h>
> #include <linux/fb.h>
> +#include <lcd.h>
>
> #define PANEL_NAME_SIZE (32)
>
> @@ -368,8 +369,10 @@ int exynos_mipi_dsi_register_lcd_device(struct mipi_dsim_lcd_device
> *lcd_dev);
>
> void exynos_set_dsim_platform_data(struct exynos_platform_mipi_dsim *pd);
> +void exynos_init_dsim_platform_data(vidinfo_t *vid);
>
> /* panel driver init based on mipi dsi interface */
> void s6e8ax0_init(void);
>
> +extern int mipi_power(void);
> #endif /* _DSIM_H */
> diff --git a/drivers/video/exynos_mipi_dsi.c b/drivers/video/exynos_mipi_dsi.c
> index 8bb8fea..ab15ad6 100644
> --- a/drivers/video/exynos_mipi_dsi.c
> +++ b/drivers/video/exynos_mipi_dsi.c
> @@ -9,6 +9,8 @@
>
> #include <common.h>
> #include <malloc.h>
> +#include <fdtdec.h>
> +#include <libfdt.h>
> #include <linux/err.h>
> #include <asm/arch/dsim.h>
> #include <asm/arch/mipi_dsim.h>
> @@ -22,7 +24,12 @@
> #define master_to_driver(a) (a->dsim_lcd_drv)
> #define master_to_device(a) (a->dsim_lcd_dev)
>
> +DECLARE_GLOBAL_DATA_PTR;
> +
> static struct exynos_platform_mipi_dsim *dsim_pd;
> +static struct mipi_dsim_config dsim_config_dt;
> +static struct exynos_platform_mipi_dsim dsim_platform_data_dt;
> +static struct mipi_dsim_lcd_device mipi_lcd_device_dt;
>
> struct mipi_dsim_ddi {
> int bus_id;
> @@ -238,3 +245,94 @@ void exynos_set_dsim_platform_data(struct exynos_platform_mipi_dsim *pd)
>
> dsim_pd = pd;
> }
> +
> +#ifdef CONFIG_OF_CONTROL
> +int exynos_dsim_config_parse_dt(const void *blob)
> +{
> + int node;
> +
> + node = fdtdec_next_compatible(blob, 0, COMPAT_SAMSUNG_EXYNOS_MIPI_DSI);
> + if (node <= 0) {
> + printf("exynos_mipi_dsi: Can't get device node for mipi dsi\n");
> + return -ENODEV;
> + }
> +
> + dsim_config_dt.e_interface = fdtdec_get_int(blob, node,
> + "samsung,dsim-config-e_interface", 0);
> +
> + dsim_config_dt.e_virtual_ch = fdtdec_get_int(blob, node,
> + "samsung,dsim-config-e_virtual_ch", 0);
> +
> + dsim_config_dt.e_pixel_format = fdtdec_get_int(blob, node,
> + "samsung,dsim-config-e_pixel_format", 0);
> +
> + dsim_config_dt.e_burst_mode = fdtdec_get_int(blob, node,
> + "samsung,dsim-config-e_burst_mode", 0);
> +
> + dsim_config_dt.e_no_data_lane = fdtdec_get_int(blob, node,
> + "samsung,dsim-config-e_no_data_lane", 0);
> +
> + dsim_config_dt.e_byte_clk = fdtdec_get_int(blob, node,
> + "samsung,dsim-config-e_byte_clk", 0);
> +
> + dsim_config_dt.hfp = fdtdec_get_int(blob, node,
> + "samsung,dsim-config-hfp", 0);
> +
> + dsim_config_dt.p = fdtdec_get_int(blob, node,
> + "samsung,dsim-config-p", 0);
> + dsim_config_dt.m = fdtdec_get_int(blob, node,
> + "samsung,dsim-config-m", 0);
> + dsim_config_dt.s = fdtdec_get_int(blob, node,
> + "samsung,dsim-config-s", 0);
> +
> + dsim_config_dt.pll_stable_time = fdtdec_get_int(blob, node,
> + "samsung,dsim-config-pll_stable_time", 0);
> +
> + dsim_config_dt.esc_clk = fdtdec_get_int(blob, node,
> + "samsung,dsim-config-esc_clk", 0);
> +
> + dsim_config_dt.stop_holding_cnt = fdtdec_get_int(blob, node,
> + "samsung,dsim-config-stop_holding_cnt", 0);
> +
> + dsim_config_dt.bta_timeout = fdtdec_get_int(blob, node,
> + "samsung,dsim-config-bta_timeout", 0);
> +
> + dsim_config_dt.rx_timeout = fdtdec_get_int(blob, node,
> + "samsung,dsim-config-rx_timeout", 0);
> +
> + mipi_lcd_device_dt.name = fdtdec_get_config_string(blob,
> + "samsung,dsim-device-name");
> +
> + mipi_lcd_device_dt.id = fdtdec_get_int(blob, node,
> + "samsung,dsim-device-id", 0);
> +
> + mipi_lcd_device_dt.bus_id = fdtdec_get_int(blob, node,
> + "samsung,dsim-device-bus_id", 0);
> +
> + mipi_lcd_device_dt.reverse_panel = fdtdec_get_int(blob, node,
> + "samsung,dsim-device-reverse_panel", 0);
> +
> + return 0;
> +}
> +
> +void exynos_init_dsim_platform_data(vidinfo_t *vid)
> +{
> + if (exynos_dsim_config_parse_dt(gd->fdt_blob))
> + debug("Can't get proper dsim config.\n");
> +
> + strcpy(dsim_platform_data_dt.lcd_panel_name, mipi_lcd_device_dt.name);
> + dsim_platform_data_dt.dsim_config = &dsim_config_dt;
> + dsim_platform_data_dt.mipi_power = mipi_power;
> + dsim_platform_data_dt.phy_enable = set_mipi_phy_ctrl;
> + dsim_platform_data_dt.lcd_panel_info = (void *)vid;
> +
> + mipi_lcd_device_dt.platform_data = (void *)&dsim_platform_data_dt;
> + exynos_mipi_dsi_register_lcd_device(&mipi_lcd_device_dt);
> +
> +#ifdef CONFIG_S6E8AX0
> + s6e8ax0_init();
No.
Please don't init specific panel at here. looks weird.
> +#endif
> +
> + dsim_pd = &dsim_platform_data_dt;
> +}
> +#endif
> diff --git a/include/fdtdec.h b/include/fdtdec.h
> index 433d6a7..f12b4aa 100644
> --- a/include/fdtdec.h
> +++ b/include/fdtdec.h
> @@ -78,6 +78,7 @@ enum fdt_compat_id {
> COMPAT_SAMSUNG_EXYNOS5_USB3_PHY,/* Exynos phy controller for usb3.0 */
> COMPAT_SAMSUNG_EXYNOS_TMU, /* Exynos TMU */
> COMPAT_SAMSUNG_EXYNOS_FIMD, /* Exynos Display controller */
> + COMPAT_SAMSUNG_EXYNOS_MIPI_DSI, /* Exynos mipi dsi */
> COMPAT_SAMSUNG_EXYNOS5_DP, /* Exynos Display port controller */
> COMPAT_SAMSUNG_EXYNOS5_DWMMC, /* Exynos5 DWMMC controller */
> COMPAT_SAMSUNG_EXYNOS_SERIAL, /* Exynos UART */
> diff --git a/lib/fdtdec.c b/lib/fdtdec.c
> index 207314f..46e67ff 100644
> --- a/lib/fdtdec.c
> +++ b/lib/fdtdec.c
> @@ -51,6 +51,7 @@ static const char * const compat_names[COMPAT_COUNT] = {
> COMPAT(SAMSUNG_EXYNOS5_USB3_PHY, "samsung,exynos5250-usb3-phy"),
> COMPAT(SAMSUNG_EXYNOS_TMU, "samsung,exynos-tmu"),
> COMPAT(SAMSUNG_EXYNOS_FIMD, "samsung,exynos-fimd"),
> + COMPAT(SAMSUNG_EXYNOS_MIPI_DSI, "samsung,exynos-mipi-dsi"),
> COMPAT(SAMSUNG_EXYNOS5_DP, "samsung,exynos5-dp"),
> COMPAT(SAMSUNG_EXYNOS5_DWMMC, "samsung,exynos5250-dwmmc"),
> COMPAT(SAMSUNG_EXYNOS_SERIAL, "samsung,exynos4210-uart"),
>
Thanks,
Minkyu Kang.
next prev parent reply other threads:[~2014-02-07 7:53 UTC|newest]
Thread overview: 97+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-27 14:15 [U-Boot] [PATCH 0/9] Exynos4: add support for device tree Piotr Wilczek
2014-01-27 14:15 ` [U-Boot] [PATCH 1/9] exynos4:pinmux:fdt: decode peripheral id Piotr Wilczek
2014-01-28 8:54 ` Jaehoon Chung
2014-01-28 12:13 ` Piotr Wilczek
2014-01-29 8:03 ` Minkyu Kang
2014-01-27 14:15 ` [U-Boot] [PATCH 2/9] video:mipidsim:fdt: Add DT support for mipi dsim driver Piotr Wilczek
2014-02-07 7:53 ` Minkyu Kang [this message]
2014-02-07 8:43 ` Piotr Wilczek
2014-01-27 14:15 ` [U-Boot] [PATCH 3/9] video:exynos_fb:fdt: add additional fdt data Piotr Wilczek
2014-02-07 7:53 ` Minkyu Kang
2014-02-07 8:19 ` Piotr Wilczek
2014-01-27 14:15 ` [U-Boot] [PATCH 4/9] drivers:mmc:sdhci: enable support for DT Piotr Wilczek
2014-01-28 9:42 ` Jaehoon Chung
2014-01-28 12:31 ` Piotr Wilczek
2014-01-27 14:15 ` [U-Boot] [PATCH 5/9] arm:exynos: add common board file for exynos 4 Piotr Wilczek
2014-02-07 7:52 ` Minkyu Kang
2014-02-07 8:40 ` Piotr Wilczek
2014-02-07 9:47 ` Minkyu Kang
2014-02-10 8:52 ` Piotr Wilczek
2014-02-10 9:09 ` Minkyu Kang
2014-01-27 14:15 ` [U-Boot] [PATCH 6/9] board:origen:fdt: Enable device tree on Origen Piotr Wilczek
2014-01-27 14:15 ` [U-Boot] [PATCH 7/9] board:universal:fdt: Enable device tree on Universal Piotr Wilczek
2014-01-27 14:15 ` [U-Boot] [PATCH 8/9] trats:fdt: Enable device tree on Trats Piotr Wilczek
2014-01-27 14:15 ` [U-Boot] [PATCH 9/9] board:trats2:fdt: Enable device tree on Trats2 Piotr Wilczek
2014-01-28 9:47 ` Jaehoon Chung
2014-01-28 12:41 ` Piotr Wilczek
2014-02-13 14:10 ` [U-Boot] [PATCH V2 00/12] Exynos4: add support for device tree Piotr Wilczek
2014-02-13 14:10 ` [U-Boot] [PATCH V2 01/12] exynos4:pinmux:fdt: decode peripheral id Piotr Wilczek
2014-02-13 14:10 ` [U-Boot] [PATCH V2 02/12] video:mipidsim:fdt: Add DT support for mipi dsim driver Piotr Wilczek
2014-02-13 14:10 ` [U-Boot] [PATCH V2 03/12] video:exynos_fb:fdt: add additional fdt data Piotr Wilczek
2014-02-13 14:10 ` [U-Boot] [PATCH V2 04/12] drivers:mmc:sdhci: enable support for DT Piotr Wilczek
2014-02-13 14:10 ` [U-Boot] [PATCH V2 05/12] board:samsung:common: remove unused max77686 init function Piotr Wilczek
2014-02-14 5:32 ` Rajeshwari Birje
2014-02-14 9:48 ` Piotr Wilczek
2014-02-14 11:40 ` Rajeshwari Birje
2014-02-22 7:37 ` Minkyu Kang
2014-02-24 6:39 ` Piotr Wilczek
2014-02-24 10:05 ` Minkyu Kang
2014-02-13 14:10 ` [U-Boot] [PATCH V2 06/12] board:samsung: move checkboard to common file Piotr Wilczek
2014-02-14 5:35 ` Rajeshwari Birje
2014-02-13 14:10 ` [U-Boot] [PATCH V2 07/12] arm:exynos: add common DTS file for exynos 4 Piotr Wilczek
2014-02-13 14:10 ` [U-Boot] [PATCH V2 08/12] arm:exynos: enble sdhci and misc_init to common board Piotr Wilczek
2014-02-13 14:10 ` [U-Boot] [PATCH V2 09/12] board:origen: Enable device tree on Origen Piotr Wilczek
2014-02-13 14:10 ` [U-Boot] [PATCH V2 10/12] board:universal: Enable device tree on Universal Piotr Wilczek
2014-02-14 8:53 ` Przemyslaw Marczak
2014-02-13 14:10 ` [U-Boot] [PATCH V2 11/12] board:trats: Enable device tree on Trats Piotr Wilczek
2014-02-13 14:10 ` [U-Boot] [PATCH V2 12/12] board:trats2: Enable device tree on Trats2 Piotr Wilczek
2014-02-25 14:33 ` [U-Boot] [PATCH V3 00/12] Exynos4: add support for device tree Piotr Wilczek
2014-02-25 14:33 ` [U-Boot] [PATCH V3 01/12] exynos4:pinmux:fdt: decode peripheral id Piotr Wilczek
2014-02-25 14:33 ` [U-Boot] [PATCH V3 02/12] video:mipidsim:fdt: Add DT support for mipi dsim driver Piotr Wilczek
2014-02-27 14:59 ` Ajay kumar
2014-02-28 7:48 ` Piotr Wilczek
2014-02-25 14:33 ` [U-Boot] [PATCH V3 03/12] video:exynos_fb:fdt: add additional fdt data Piotr Wilczek
2014-02-27 13:50 ` Ajay kumar
2014-02-27 14:10 ` Ajay kumar
2014-02-28 8:54 ` Piotr Wilczek
2014-02-25 14:33 ` [U-Boot] [PATCH V3 04/12] drivers:mmc:sdhci: enable support for DT Piotr Wilczek
2014-02-25 14:33 ` [U-Boot] [PATCH V3 05/12] board:samsung: move checkboard to common file Piotr Wilczek
2014-02-25 14:33 ` [U-Boot] [PATCH V3 06/12] arm:exynos: add common DTS file for exynos 4 Piotr Wilczek
2014-02-25 14:33 ` [U-Boot] [PATCH V3 07/12] board:samsung:common: move max77686 init function Piotr Wilczek
2014-02-25 14:33 ` [U-Boot] [PATCH V3 08/12] arm:exynos: enable sdhci and misc_init to common board Piotr Wilczek
2014-02-25 14:33 ` [U-Boot] [PATCH V3 09/12] board:origen: Enable device tree on Origen Piotr Wilczek
2014-02-26 2:47 ` Minkyu Kang
2014-02-25 14:33 ` [U-Boot] [PATCH V3 10/12] board:universal: Enable device tree on Universal Piotr Wilczek
2014-02-25 14:33 ` [U-Boot] [PATCH V3 11/12] board:trats: Enable device tree on Trats Piotr Wilczek
2014-02-25 14:33 ` [U-Boot] [PATCH V3 12/12] board:trats2: Enable device tree on Trats2 Piotr Wilczek
2014-03-04 13:55 ` [U-Boot] [PATCH V4 00/12] Exynos4: add support for device tree Piotr Wilczek
2014-03-04 13:55 ` [U-Boot] [PATCH V4 01/12] exynos4:pinmux:fdt: decode peripheral id Piotr Wilczek
2014-03-04 13:55 ` [U-Boot] [PATCH V4 02/12] video:mipidsim:fdt: Add DT support for mipi dsim driver Piotr Wilczek
2014-03-05 6:16 ` Ajay kumar
2014-03-05 6:57 ` Piotr Wilczek
2014-03-04 13:55 ` [U-Boot] [PATCH V4 03/12] video:exynos_fb:fdt: add additional fdt data Piotr Wilczek
2014-03-05 6:06 ` Ajay kumar
2014-03-05 7:11 ` Piotr Wilczek
2014-03-04 13:55 ` [U-Boot] [PATCH V4 04/12] drivers:mmc:sdhci: enable support for DT Piotr Wilczek
2014-03-04 13:55 ` [U-Boot] [PATCH V4 05/12] board:samsung: move checkboard to common file Piotr Wilczek
2014-03-04 13:55 ` [U-Boot] [PATCH V4 06/12] arm:exynos: add common DTS file for exynos 4 Piotr Wilczek
2014-03-04 13:55 ` [U-Boot] [PATCH V4 07/12] board:samsung:common: move max77686 init function Piotr Wilczek
2014-03-04 13:55 ` [U-Boot] [PATCH V4 08/12] arm:exynos: enable sdhci and misc_init to common board Piotr Wilczek
2014-03-04 13:55 ` [U-Boot] [PATCH V4 09/12] board:origen: Enable device tree on Origen Piotr Wilczek
2014-03-04 13:55 ` [U-Boot] [PATCH V4 10/12] board:universal: Enable device tree on Universal Piotr Wilczek
2014-03-04 13:55 ` [U-Boot] [PATCH V4 11/12] board:trats: Enable device tree on Trats Piotr Wilczek
2014-03-04 13:55 ` [U-Boot] [PATCH V4 12/12] board:trats2: Enable device tree on Trats2 Piotr Wilczek
2014-03-07 13:59 ` [U-Boot] [PATCH V5 00/12] Exynos4: add support for device tree Piotr Wilczek
2014-03-07 13:59 ` [U-Boot] [PATCH V5 01/12] exynos4:pinmux:fdt: decode peripheral id Piotr Wilczek
2014-03-07 13:59 ` [U-Boot] [PATCH V5 02/12] video:mipidsim:fdt: Add DT support for mipi dsim driver Piotr Wilczek
2014-03-07 13:59 ` [U-Boot] [PATCH V5 03/12] video:exynos_fb:fdt: add additional fdt data Piotr Wilczek
2014-03-07 13:59 ` [U-Boot] [PATCH V5 04/12] drivers:mmc:sdhci: enable support for DT Piotr Wilczek
2014-03-07 13:59 ` [U-Boot] [PATCH V5 05/12] board:samsung: move checkboard to common file Piotr Wilczek
2014-03-07 13:59 ` [U-Boot] [PATCH V5 06/12] arm:exynos: add common DTS file for exynos 4 Piotr Wilczek
2014-03-07 13:59 ` [U-Boot] [PATCH V5 07/12] board:samsung:common: move max77686 init function Piotr Wilczek
2014-03-07 13:59 ` [U-Boot] [PATCH V5 08/12] arm:exynos: enable sdhci and misc_init to common board Piotr Wilczek
2014-03-07 13:59 ` [U-Boot] [PATCH V5 09/12] board:origen: Enable device tree on Origen Piotr Wilczek
2014-03-07 13:59 ` [U-Boot] [PATCH V5 10/12] board:universal: Enable device tree on Universal Piotr Wilczek
2014-03-07 13:59 ` [U-Boot] [PATCH V5 11/12] board:trats: Enable device tree on Trats Piotr Wilczek
2014-03-07 13:59 ` [U-Boot] [PATCH V5 12/12] board:trats2: Enable device tree on Trats2 Piotr Wilczek
2014-03-12 11:59 ` [U-Boot] [PATCH V5 00/12] Exynos4: add support for device tree Minkyu Kang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52F490DC.8050308@samsung.com \
--to=mk7.kang@samsung.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.