OMAPDSS: DSS: Add DRA7xx base support
Add base support for DRA7xx to DSS core. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
This commit is contained in:
@@ -605,6 +605,26 @@ static int dss_dpi_select_source_omap5(int port, enum omap_channel channel)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int dss_dpi_select_source_dra7xx(int port, enum omap_channel channel)
|
||||||
|
{
|
||||||
|
switch (port) {
|
||||||
|
case 0:
|
||||||
|
return dss_dpi_select_source_omap5(port, channel);
|
||||||
|
case 1:
|
||||||
|
if (channel != OMAP_DSS_CHANNEL_LCD2)
|
||||||
|
return -EINVAL;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (channel != OMAP_DSS_CHANNEL_LCD3)
|
||||||
|
return -EINVAL;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int dss_dpi_select_source(int port, enum omap_channel channel)
|
int dss_dpi_select_source(int port, enum omap_channel channel)
|
||||||
{
|
{
|
||||||
return dss.feat->dpi_select_source(port, channel);
|
return dss.feat->dpi_select_source(port, channel);
|
||||||
@@ -686,6 +706,12 @@ static const enum omap_display_type omap34xx_ports[] = {
|
|||||||
OMAP_DISPLAY_TYPE_SDI,
|
OMAP_DISPLAY_TYPE_SDI,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const enum omap_display_type dra7xx_ports[] = {
|
||||||
|
OMAP_DISPLAY_TYPE_DPI,
|
||||||
|
OMAP_DISPLAY_TYPE_DPI,
|
||||||
|
OMAP_DISPLAY_TYPE_DPI,
|
||||||
|
};
|
||||||
|
|
||||||
static const struct dss_features omap24xx_dss_feats __initconst = {
|
static const struct dss_features omap24xx_dss_feats __initconst = {
|
||||||
/*
|
/*
|
||||||
* fck div max is really 16, but the divider range has gaps. The range
|
* fck div max is really 16, but the divider range has gaps. The range
|
||||||
@@ -744,6 +770,15 @@ static const struct dss_features am43xx_dss_feats __initconst = {
|
|||||||
.num_ports = ARRAY_SIZE(omap2plus_ports),
|
.num_ports = ARRAY_SIZE(omap2plus_ports),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct dss_features dra7xx_dss_feats __initconst = {
|
||||||
|
.fck_div_max = 64,
|
||||||
|
.dss_fck_multiplier = 1,
|
||||||
|
.parent_clk_name = "dpll_per_x2_ck",
|
||||||
|
.dpi_select_source = &dss_dpi_select_source_dra7xx,
|
||||||
|
.ports = dra7xx_ports,
|
||||||
|
.num_ports = ARRAY_SIZE(dra7xx_ports),
|
||||||
|
};
|
||||||
|
|
||||||
static int __init dss_init_features(struct platform_device *pdev)
|
static int __init dss_init_features(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
const struct dss_features *src;
|
const struct dss_features *src;
|
||||||
@@ -784,6 +819,10 @@ static int __init dss_init_features(struct platform_device *pdev)
|
|||||||
src = &am43xx_dss_feats;
|
src = &am43xx_dss_feats;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case OMAPDSS_VER_DRA7xx:
|
||||||
|
src = &dra7xx_dss_feats;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
@@ -1003,6 +1042,7 @@ static const struct of_device_id dss_of_match[] = {
|
|||||||
{ .compatible = "ti,omap3-dss", },
|
{ .compatible = "ti,omap3-dss", },
|
||||||
{ .compatible = "ti,omap4-dss", },
|
{ .compatible = "ti,omap4-dss", },
|
||||||
{ .compatible = "ti,omap5-dss", },
|
{ .compatible = "ti,omap5-dss", },
|
||||||
|
{ .compatible = "ti,dra7-dss", },
|
||||||
{},
|
{},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -104,6 +104,8 @@ enum dss_pll_id {
|
|||||||
DSS_PLL_DSI1,
|
DSS_PLL_DSI1,
|
||||||
DSS_PLL_DSI2,
|
DSS_PLL_DSI2,
|
||||||
DSS_PLL_HDMI,
|
DSS_PLL_HDMI,
|
||||||
|
DSS_PLL_VIDEO1,
|
||||||
|
DSS_PLL_VIDEO2,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct dss_pll;
|
struct dss_pll;
|
||||||
|
|||||||
@@ -943,6 +943,7 @@ void dss_features_init(enum omapdss_version version)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case OMAPDSS_VER_OMAP5:
|
case OMAPDSS_VER_OMAP5:
|
||||||
|
case OMAPDSS_VER_DRA7xx:
|
||||||
omap_current_dss_features = &omap5_dss_features;
|
omap_current_dss_features = &omap5_dss_features;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
@@ -186,6 +186,7 @@ static const struct of_device_id omapdss_of_match[] __initconst = {
|
|||||||
{ .compatible = "ti,omap3-dss", },
|
{ .compatible = "ti,omap3-dss", },
|
||||||
{ .compatible = "ti,omap4-dss", },
|
{ .compatible = "ti,omap4-dss", },
|
||||||
{ .compatible = "ti,omap5-dss", },
|
{ .compatible = "ti,omap5-dss", },
|
||||||
|
{ .compatible = "ti,dra7-dss", },
|
||||||
{},
|
{},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user