Message ID | 1390832143-372-3-git-send-email-p.wilczek@samsung.com |
---|---|
State | Changes Requested |
Delegated to: | Minkyu Kang |
Headers | show |
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.
Dear Minkyu Kang, > -----Original Message----- > > 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. > Ok. > > +#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. Best regards, Piotr Wilczek
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(); +#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"),