From: Piotr Wilczek <p.wilczek@samsung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH V4 02/12] video:mipidsim:fdt: Add DT support for mipi dsim driver
Date: Wed, 05 Mar 2014 07:57:27 +0100 [thread overview]
Message-ID: <5316CAD7.1010501@samsung.com> (raw)
In-Reply-To: <CAEC9eQO0YuZZoQjjy6xV83WViK5ejr6xGLVc9ZkTSco58zehSA@mail.gmail.com>
Hi Ajay,
On 03/05/2014 07:16 AM, Ajay kumar wrote:
> Piotr,
>
> You need to add the documentation for the bindings you create.
> Please add a exynos_mipi_dsi.txt file under the directory:
> doc/device-tree-bindings/video/
>
Yes, I completely overlook that, thanks.
Best regards,
Piotr Wilczek
> Regards,
> Ajay Kumar
>
>
> On Tue, Mar 4, 2014 at 7:25 PM, Piotr Wilczek <p.wilczek@samsung.com> 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>
>> ---
>> Changes for v4:
>> - use "-" hypen for DT bindings
>>
>> Changes for v3:
>> - none
>>
>> Changes for v2:
>> - removed panel specific init function 's6e8ax0_init' to the board file
>>
>> arch/arm/include/asm/arch-exynos/mipi_dsim.h | 5 ++
>> drivers/video/exynos_mipi_dsi.c | 96
>> ++++++++++++++++++++++++++++
>> 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..50e5c25 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,12 @@ 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);
>>
>> +#ifdef CONFIG_OF_CONTROL
>> +extern int mipi_power(void);
>> +#endif
>> #endif /* _DSIM_H */
>> diff --git a/drivers/video/exynos_mipi_dsi.c
>> b/drivers/video/exynos_mipi_dsi.c
>> index 8bb8fea..7dd4652 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,14 @@
>> #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;
>> +#ifdef CONFIG_OF_CONTROL
>> +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;
>> +#endif
>>
>> struct mipi_dsim_ddi {
>> int bus_id;
>> @@ -238,3 +247,90 @@ 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);
>> +
>> + dsim_pd = &dsim_platform_data_dt;
>> +}
>> +#endif
>> diff --git a/include/fdtdec.h b/include/fdtdec.h
>> index 19bab79..bd84c83 100644
>> --- a/include/fdtdec.h
>> +++ b/include/fdtdec.h
>> @@ -79,6 +79,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 1fecab3..c97fad3 100644
>> --- a/lib/fdtdec.c
>> +++ b/lib/fdtdec.c
>> @@ -52,6 +52,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"),
>> --
>> 1.8.3.2
>>
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> http://lists.denx.de/mailman/listinfo/u-boot
>>
>
>
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>
next prev parent reply other threads:[~2014-03-05 6:57 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
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 [this message]
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=5316CAD7.1010501@samsung.com \
--to=p.wilczek@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.