* [PATCH 0/4] Add Display support for AM43xx
@ 2013-12-03 8:33 Sathya Prakash M R
2013-12-03 8:33 ` [PATCH 1/4] OMAPDSS: Add DSS features " Sathya Prakash M R
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Sathya Prakash M R @ 2013-12-03 8:33 UTC (permalink / raw)
To: tony, tomi.valkeinen, devicetree, linux-omap, rob.herring,
pawel.moll, mark.rutland, paul
Cc: Sathya Prakash M R
This patch series adds DSS support to the AM43x. The DPI LCD
panel is supported on both am43x-epos-evm and am437x-gp-evm.
The LCD panel is from OSD model: OSD057T0559-34TS
Done on top of 3.13-rc1 and below dependent patches
Sourav patches adding device nodes for epos [1] and gp [2] evm
[1]: https://patchwork.kernel.org/patch/3246701/
[2]: https://patchwork.kernel.org/patch/3246751/
Tomi patch adding DT support to DSS [3]
[3]: https://patchwork.kernel.org/patch/2841721/
AM43xx has a dedicated display pll. Hence tomi patch improving
func clock handling is needed [4]
[4]: https://patchwork.kernel.org/patch/3196221/
Tested on am43x-epos-evm and am437x-gp-evm.
Sathya Prakash M R (3):
OMAPDSS: Add DSS features for AM43xx
ARM: OMAP2+: AM43xx DSS Hwmod
ARM: DTS: AM43x: Add DSS node
Tomi Valkeinen (1):
ARM: AM43xx: fix dpll init in bypass mode
arch/arm/boot/dts/am4372.dtsi | 28 ++++++++
arch/arm/boot/dts/am437x-gp-evm.dts | 68 ++++++++++++++++++
arch/arm/boot/dts/am43x-epos-evm.dts | 64 +++++++++++++++++
arch/arm/boot/dts/am43xx-clocks.dtsi | 2 +
arch/arm/mach-omap2/clkt_dpll.c | 4 +-
arch/arm/mach-omap2/display.c | 2 +
arch/arm/mach-omap2/omap_hwmod_43xx_data.c | 104 ++++++++++++++++++++++++++++
arch/arm/mach-omap2/prcm43xx.h | 1 +
drivers/video/omap2/dss/dispc.c | 1 +
drivers/video/omap2/dss/dpi.c | 2 +
drivers/video/omap2/dss/dsi.c | 1 +
drivers/video/omap2/dss/dss.c | 11 +++
drivers/video/omap2/dss/dss_features.c | 67 ++++++++++++++++++
include/video/omapdss.h | 1 +
14 files changed, 354 insertions(+), 2 deletions(-)
--
1.7.9.5
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/4] OMAPDSS: Add DSS features for AM43xx
2013-12-03 8:33 [PATCH 0/4] Add Display support for AM43xx Sathya Prakash M R
@ 2013-12-03 8:33 ` Sathya Prakash M R
2013-12-03 8:33 ` [PATCH 2/4] ARM: AM43xx: fix dpll init in bypass mode Sathya Prakash M R
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Sathya Prakash M R @ 2013-12-03 8:33 UTC (permalink / raw)
To: tony, tomi.valkeinen, devicetree, linux-omap, rob.herring,
pawel.moll, mark.rutland, paul
Cc: Sathya Prakash M R
Add DSS features for AM43xx.
Signed-off-by: Sathya Prakash M R <sathyap@ti.com>
---
arch/arm/mach-omap2/display.c | 2 +
drivers/video/omap2/dss/dispc.c | 1 +
drivers/video/omap2/dss/dpi.c | 2 +
drivers/video/omap2/dss/dsi.c | 1 +
drivers/video/omap2/dss/dss.c | 11 ++++++
drivers/video/omap2/dss/dss_features.c | 67 ++++++++++++++++++++++++++++++++
include/video/omapdss.h | 1 +
7 files changed, 85 insertions(+)
diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
index a4e536b..d1cac1c 100644
--- a/arch/arm/mach-omap2/display.c
+++ b/arch/arm/mach-omap2/display.c
@@ -316,6 +316,8 @@ static enum omapdss_version __init omap_display_get_version(void)
return OMAPDSS_VER_OMAP4;
else if (soc_is_omap54xx())
return OMAPDSS_VER_OMAP5;
+ else if (soc_is_am43xx())
+ return OMAPDSS_VER_AM43xx;
else
return OMAPDSS_VER_UNKNOWN;
}
diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
index 4ec59ca..1b4aed5 100644
--- a/drivers/video/omap2/dss/dispc.c
+++ b/drivers/video/omap2/dss/dispc.c
@@ -3622,6 +3622,7 @@ static int __init dispc_init_features(struct platform_device *pdev)
case OMAPDSS_VER_OMAP34xx_ES3:
case OMAPDSS_VER_OMAP3630:
case OMAPDSS_VER_AM35xx:
+ case OMAPDSS_VER_AM43xx:
src = &omap34xx_rev3_0_dispc_feats;
break;
diff --git a/drivers/video/omap2/dss/dpi.c b/drivers/video/omap2/dss/dpi.c
index bd48cde..7ee7f86 100644
--- a/drivers/video/omap2/dss/dpi.c
+++ b/drivers/video/omap2/dss/dpi.c
@@ -64,6 +64,7 @@ static struct platform_device *dpi_get_dsidev(enum omap_channel channel)
case OMAPDSS_VER_OMAP34xx_ES3:
case OMAPDSS_VER_OMAP3630:
case OMAPDSS_VER_AM35xx:
+ case OMAPDSS_VER_AM43xx:
return NULL;
case OMAPDSS_VER_OMAP4430_ES1:
@@ -593,6 +594,7 @@ static enum omap_channel dpi_get_channel(void)
case OMAPDSS_VER_OMAP34xx_ES3:
case OMAPDSS_VER_OMAP3630:
case OMAPDSS_VER_AM35xx:
+ case OMAPDSS_VER_AM43xx:
return OMAP_DSS_CHANNEL_LCD;
case OMAPDSS_VER_OMAP4430_ES1:
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index 6056b27..d68b49b 100644
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -5082,6 +5082,7 @@ static enum omap_channel dsi_get_channel(int module_id)
{
switch (omapdss_get_version()) {
case OMAPDSS_VER_OMAP24xx:
+ case OMAPDSS_VER_AM43xx:
DSSWARN("DSI not supported\n");
return OMAP_DSS_CHANNEL_LCD;
diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c
index bd01608..0b60746 100644
--- a/drivers/video/omap2/dss/dss.c
+++ b/drivers/video/omap2/dss/dss.c
@@ -795,6 +795,13 @@ static const struct dss_features omap54xx_dss_feats __initconst = {
.dpi_select_source = &dss_dpi_select_source_omap5,
};
+static const struct dss_features am43xx_dss_feats __initconst = {
+ .fck_div_max = 0,
+ .dss_fck_multiplier = 0,
+ .parent_clk_name = NULL,
+ .dpi_select_source = &dss_dpi_select_source_omap2_omap3,
+};
+
static int __init dss_init_features(struct platform_device *pdev)
{
const struct dss_features *src;
@@ -831,6 +838,10 @@ static int __init dss_init_features(struct platform_device *pdev)
src = &omap54xx_dss_feats;
break;
+ case OMAPDSS_VER_AM43xx:
+ src = &am43xx_dss_feats;
+ break;
+
default:
return -ENODEV;
}
diff --git a/drivers/video/omap2/dss/dss_features.c b/drivers/video/omap2/dss/dss_features.c
index f8fd6db..79df1a2 100644
--- a/drivers/video/omap2/dss/dss_features.c
+++ b/drivers/video/omap2/dss/dss_features.c
@@ -93,6 +93,17 @@ static const struct dss_reg_field omap3_dss_reg_fields[] = {
[FEAT_REG_DSIPLL_REGM_DSI] = { 26, 23 },
};
+static const struct dss_reg_field am43xx_dss_reg_fields[] = {
+ [FEAT_REG_FIRHINC] = { 12, 0 },
+ [FEAT_REG_FIRVINC] = { 28, 16 },
+ [FEAT_REG_FIFOLOWTHRESHOLD] = { 11, 0 },
+ [FEAT_REG_FIFOHIGHTHRESHOLD] = { 27, 16 },
+ [FEAT_REG_FIFOSIZE] = { 10, 0 },
+ [FEAT_REG_HORIZONTALACCU] = { 9, 0 },
+ [FEAT_REG_VERTICALACCU] = { 25, 16 },
+ [FEAT_REG_DISPC_CLK_SWITCH] = { 0, 0 },
+};
+
static const struct dss_reg_field omap4_dss_reg_fields[] = {
[FEAT_REG_FIRHINC] = { 12, 0 },
[FEAT_REG_FIRVINC] = { 28, 16 },
@@ -149,6 +160,11 @@ static const enum omap_display_type omap3630_dss_supported_displays[] = {
OMAP_DISPLAY_TYPE_VENC,
};
+static const enum omap_display_type am43xx_dss_supported_displays[] = {
+ /* OMAP_DSS_CHANNEL_LCD */
+ OMAP_DISPLAY_TYPE_DPI | OMAP_DISPLAY_TYPE_DBI,
+};
+
static const enum omap_display_type omap4_dss_supported_displays[] = {
/* OMAP_DSS_CHANNEL_LCD */
OMAP_DISPLAY_TYPE_DBI | OMAP_DISPLAY_TYPE_DSI,
@@ -200,6 +216,11 @@ static const enum omap_dss_output_id omap3630_dss_supported_outputs[] = {
OMAP_DSS_OUTPUT_VENC,
};
+static const enum omap_dss_output_id am43xx_dss_supported_outputs[] = {
+ /* OMAP_DSS_CHANNEL_LCD */
+ OMAP_DSS_OUTPUT_DPI | OMAP_DSS_OUTPUT_DBI,
+};
+
static const enum omap_dss_output_id omap4_dss_supported_outputs[] = {
/* OMAP_DSS_CHANNEL_LCD */
OMAP_DSS_OUTPUT_DBI | OMAP_DSS_OUTPUT_DSI1,
@@ -444,6 +465,13 @@ static const struct dss_param_range omap3_dss_param_range[] = {
[FEAT_PARAM_LINEWIDTH] = { 1, 1024 },
};
+static const struct dss_param_range am43xx_dss_param_range[] = {
+ [FEAT_PARAM_DSS_FCK] = { 0, 200000000 },
+ [FEAT_PARAM_DSS_PCD] = { 2, 255 },
+ [FEAT_PARAM_DOWNSCALE] = { 1, 4 },
+ [FEAT_PARAM_LINEWIDTH] = { 1, 1024 },
+};
+
static const struct dss_param_range omap4_dss_param_range[] = {
[FEAT_PARAM_DSS_FCK] = { 0, 186000000 },
[FEAT_PARAM_DSS_PCD] = { 1, 255 },
@@ -520,6 +548,21 @@ static const enum dss_feat_id am35xx_dss_feat_list[] = {
FEAT_OMAP3_DSI_FIFO_BUG,
};
+static const enum dss_feat_id am43xx_dss_feat_list[] = {
+ FEAT_LCDENABLEPOL,
+ FEAT_LCDENABLESIGNAL,
+ FEAT_PCKFREEENABLE,
+ FEAT_FUNCGATED,
+ FEAT_LINEBUFFERSPLIT,
+ FEAT_ROWREPEATENABLE,
+ FEAT_RESIZECONF,
+ FEAT_CPR,
+ FEAT_PRELOAD,
+ FEAT_FIR_COEF_V,
+ FEAT_ALPHA_FIXED_ZORDER,
+ FEAT_FIFO_MERGE,
+};
+
static const enum dss_feat_id omap3630_dss_feat_list[] = {
FEAT_LCDENABLEPOL,
FEAT_LCDENABLESIGNAL,
@@ -681,6 +724,26 @@ static const struct omap_dss_features am35xx_dss_features = {
.burst_size_unit = 8,
};
+static const struct omap_dss_features am43xx_dss_features = {
+ .reg_fields = am43xx_dss_reg_fields,
+ .num_reg_fields = ARRAY_SIZE(am43xx_dss_reg_fields),
+
+ .features = am43xx_dss_feat_list,
+ .num_features = ARRAY_SIZE(am43xx_dss_feat_list),
+
+ .num_mgrs = 1,
+ .num_ovls = 3,
+ .supported_displays = am43xx_dss_supported_displays,
+ .supported_outputs = am43xx_dss_supported_outputs,
+ .supported_color_modes = omap3_dss_supported_color_modes,
+ .overlay_caps = omap3430_dss_overlay_caps,
+ .clksrc_names = omap2_dss_clk_source_names,
+ .dss_params = am43xx_dss_param_range,
+ .supported_rotation_types = OMAP_DSS_ROT_DMA,
+ .buffer_size_unit = 1,
+ .burst_size_unit = 8,
+};
+
static const struct omap_dss_features omap3630_dss_features = {
.reg_fields = omap3_dss_reg_fields,
.num_reg_fields = ARRAY_SIZE(omap3_dss_reg_fields),
@@ -927,6 +990,10 @@ void dss_features_init(enum omapdss_version version)
omap_current_dss_features = &am35xx_dss_features;
break;
+ case OMAPDSS_VER_AM43xx:
+ omap_current_dss_features = &am43xx_dss_features;
+ break;
+
default:
DSSWARN("Unsupported OMAP version");
break;
diff --git a/include/video/omapdss.h b/include/video/omapdss.h
index 3d7c51a..7513146 100644
--- a/include/video/omapdss.h
+++ b/include/video/omapdss.h
@@ -319,6 +319,7 @@ enum omapdss_version {
OMAPDSS_VER_OMAP4430_ES2, /* OMAP4430 ES2.0, 2.1, 2.2 */
OMAPDSS_VER_OMAP4, /* All other OMAP4s */
OMAPDSS_VER_OMAP5,
+ OMAPDSS_VER_AM43xx,
};
/* Board specific data */
--
1.7.9.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/4] ARM: AM43xx: fix dpll init in bypass mode
2013-12-03 8:33 [PATCH 0/4] Add Display support for AM43xx Sathya Prakash M R
2013-12-03 8:33 ` [PATCH 1/4] OMAPDSS: Add DSS features " Sathya Prakash M R
@ 2013-12-03 8:33 ` Sathya Prakash M R
2013-12-09 1:23 ` Paul Walmsley
2013-12-03 8:33 ` [PATCH 3/4] ARM: OMAP2+: AM43xx DSS Hwmod Sathya Prakash M R
2013-12-03 8:33 ` [PATCH 4/4] ARM: DTS: AM43x: Add DSS node Sathya Prakash M R
3 siblings, 1 reply; 7+ messages in thread
From: Sathya Prakash M R @ 2013-12-03 8:33 UTC (permalink / raw)
To: tony, tomi.valkeinen, devicetree, linux-omap, rob.herring,
pawel.moll, mark.rutland, paul
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
On AM43xx, if a PLL is in bypass at kernel init, the code in
omap2_get_dpll_rate() will not realize this and will try to calculate
the clock rate using the multiplier and the divider, resulting in
errors.
omap2_init_dpll_parent() has similar issue.
Add the missing soc_is_am43xx() check to make the code work on AM43xx.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/clkt_dpll.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-omap2/clkt_dpll.c b/arch/arm/mach-omap2/clkt_dpll.c
index 924c230..14e9e45 100644
--- a/arch/arm/mach-omap2/clkt_dpll.c
+++ b/arch/arm/mach-omap2/clkt_dpll.c
@@ -209,7 +209,7 @@ u8 omap2_init_dpll_parent(struct clk_hw *hw)
if (v == OMAP3XXX_EN_DPLL_LPBYPASS ||
v == OMAP3XXX_EN_DPLL_FRBYPASS)
return 1;
- } else if (soc_is_am33xx() || cpu_is_omap44xx()) {
+ } else if (soc_is_am33xx() || cpu_is_omap44xx() || soc_is_am43xx()) {
if (v == OMAP4XXX_EN_DPLL_LPBYPASS ||
v == OMAP4XXX_EN_DPLL_FRBYPASS ||
v == OMAP4XXX_EN_DPLL_MNBYPASS)
@@ -255,7 +255,7 @@ unsigned long omap2_get_dpll_rate(struct clk_hw_omap *clk)
if (v == OMAP3XXX_EN_DPLL_LPBYPASS ||
v == OMAP3XXX_EN_DPLL_FRBYPASS)
return __clk_get_rate(dd->clk_bypass);
- } else if (soc_is_am33xx() || cpu_is_omap44xx()) {
+ } else if (soc_is_am33xx() || cpu_is_omap44xx() || soc_is_am43xx()) {
if (v == OMAP4XXX_EN_DPLL_LPBYPASS ||
v == OMAP4XXX_EN_DPLL_FRBYPASS ||
v == OMAP4XXX_EN_DPLL_MNBYPASS)
--
1.7.9.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/4] ARM: OMAP2+: AM43xx DSS Hwmod
2013-12-03 8:33 [PATCH 0/4] Add Display support for AM43xx Sathya Prakash M R
2013-12-03 8:33 ` [PATCH 1/4] OMAPDSS: Add DSS features " Sathya Prakash M R
2013-12-03 8:33 ` [PATCH 2/4] ARM: AM43xx: fix dpll init in bypass mode Sathya Prakash M R
@ 2013-12-03 8:33 ` Sathya Prakash M R
2013-12-03 8:33 ` [PATCH 4/4] ARM: DTS: AM43x: Add DSS node Sathya Prakash M R
3 siblings, 0 replies; 7+ messages in thread
From: Sathya Prakash M R @ 2013-12-03 8:33 UTC (permalink / raw)
To: tony, tomi.valkeinen, devicetree, linux-omap, rob.herring,
pawel.moll, mark.rutland, paul
Cc: Sathya Prakash M R
Add DSS hwmod structs for AM43xx.
Signed-off-by: Sathya Prakash M R <sathyap@ti.com>
---
arch/arm/mach-omap2/omap_hwmod_43xx_data.c | 104 ++++++++++++++++++++++++++++
arch/arm/mach-omap2/prcm43xx.h | 1 +
2 files changed, 105 insertions(+)
diff --git a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
index 9002fca..6a121db 100644
--- a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
@@ -19,6 +19,8 @@
#include "omap_hwmod.h"
#include "omap_hwmod_33xx_43xx_common_data.h"
#include "prcm43xx.h"
+#include "omap_hwmod_common_data.h"
+
/* IP blocks */
static struct omap_hwmod am43xx_l4_hs_hwmod = {
@@ -415,6 +417,76 @@ static struct omap_hwmod am43xx_qspi_hwmod = {
},
};
+/* Display sub system - DSS */
+
+static struct omap_hwmod_dma_info am43xx_dss_sdma_chs[] = {
+ { .name = "dispc", .dma_req = 5 },
+ { .dma_req = -1 },
+};
+
+struct omap_dss_dispc_dev_attr am43xx_dss_dispc_dev_attr = {
+ .manager_count = 1,
+ .has_framedonetv_irq = 0
+};
+
+
+static struct omap_hwmod_class_sysconfig am43xx_dispc_sysc = {
+ .rev_offs = 0x0000,
+ .sysc_offs = 0x0010,
+ .syss_offs = 0x0014,
+ .sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE),
+ .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
+ .sysc_fields = &omap_hwmod_sysc_type1,
+};
+
+static struct omap_hwmod_class am43xx_dispc_hwmod_class = {
+ .name = "dispc",
+ .sysc = &am43xx_dispc_sysc,
+};
+
+static struct omap_hwmod am43xx_dss_core_hwmod = {
+ .name = "dss_core",
+ .class = &omap2_dss_hwmod_class,
+ .clkdm_name = "dss_clkdm",
+ .main_clk = "disp_clk",
+ .sdma_reqs = am43xx_dss_sdma_chs,
+ .prcm = {
+ .omap4 = {
+ .clkctrl_offs = AM43XX_CM_PER_DSS_CLKCTRL_OFFSET,
+ .modulemode = MODULEMODE_SWCTRL,
+ },
+ },
+};
+
+/* display controller -dispc*/
+
+static struct omap_hwmod am43xx_dss_dispc_hwmod = {
+ .name = "dss_dispc",
+ .class = &am43xx_dispc_hwmod_class,
+ .clkdm_name = "dss_clkdm",
+ .main_clk = "disp_clk",
+ .prcm = {
+ .omap4 = {
+ .clkctrl_offs = AM43XX_CM_PER_DSS_CLKCTRL_OFFSET,
+ },
+ },
+ .dev_attr = &am43xx_dss_dispc_dev_attr,
+};
+
+/*RFBI*/
+
+static struct omap_hwmod am43xx_dss_rfbi_hwmod = {
+ .name = "dss_rfbi",
+ .class = &omap2_rfbi_hwmod_class,
+ .clkdm_name = "dss_clkdm",
+ .main_clk = "disp_clk",
+ .prcm = {
+ .omap4 = {
+ .clkctrl_offs = AM43XX_CM_PER_DSS_CLKCTRL_OFFSET,
+ },
+ },
+};
+
/* Interfaces */
static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = {
.master = &am33xx_l3_main_hwmod,
@@ -654,6 +726,34 @@ static struct omap_hwmod_ocp_if am43xx_l3_s__qspi = {
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
+static struct omap_hwmod_ocp_if am43xx_dss__l3_main = {
+ .master = &am43xx_dss_core_hwmod,
+ .slave = &am33xx_l3_main_hwmod,
+ .clk = "disp_clk",
+ .user = OCP_USER_MPU | OCP_USER_SDMA,
+};
+
+static struct omap_hwmod_ocp_if am43xx_l4_ls__dss = {
+ .master = &am33xx_l4_ls_hwmod,
+ .slave = &am43xx_dss_core_hwmod,
+ .clk = "l4ls_gclk",
+ .user = OCP_USER_MPU | OCP_USER_SDMA,
+};
+
+static struct omap_hwmod_ocp_if am43xx_l4_ls__dss_dispc = {
+ .master = &am33xx_l4_ls_hwmod,
+ .slave = &am43xx_dss_dispc_hwmod,
+ .clk = "l4ls_gclk",
+ .user = OCP_USER_MPU | OCP_USER_SDMA,
+};
+
+static struct omap_hwmod_ocp_if am43xx_l4_ls__dss_rfbi = {
+ .master = &am33xx_l4_ls_hwmod,
+ .slave = &am43xx_dss_rfbi_hwmod,
+ .clk = "l4ls_gclk",
+ .user = OCP_USER_MPU | OCP_USER_SDMA,
+};
+
static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = {
&am33xx_l4_wkup__synctimer,
&am43xx_l4_ls__timer8,
@@ -747,6 +847,10 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = {
&am43xx_l4_ls__ocp2scp1,
&am43xx_l3_s__usbotgss0,
&am43xx_l3_s__usbotgss1,
+ &am43xx_dss__l3_main,
+ &am43xx_l4_ls__dss,
+ &am43xx_l4_ls__dss_dispc,
+ &am43xx_l4_ls__dss_rfbi,
NULL,
};
diff --git a/arch/arm/mach-omap2/prcm43xx.h b/arch/arm/mach-omap2/prcm43xx.h
index 7785be9..ad7b3e9 100644
--- a/arch/arm/mach-omap2/prcm43xx.h
+++ b/arch/arm/mach-omap2/prcm43xx.h
@@ -142,5 +142,6 @@
#define AM43XX_CM_PER_USBPHYOCP2SCP0_CLKCTRL_OFFSET 0x05B8
#define AM43XX_CM_PER_USB_OTG_SS1_CLKCTRL_OFFSET 0x0268
#define AM43XX_CM_PER_USBPHYOCP2SCP1_CLKCTRL_OFFSET 0x05C0
+#define AM43XX_CM_PER_DSS_CLKCTRL_OFFSET 0x0a20
#endif
--
1.7.9.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 4/4] ARM: DTS: AM43x: Add DSS node
2013-12-03 8:33 [PATCH 0/4] Add Display support for AM43xx Sathya Prakash M R
` (2 preceding siblings ...)
2013-12-03 8:33 ` [PATCH 3/4] ARM: OMAP2+: AM43xx DSS Hwmod Sathya Prakash M R
@ 2013-12-03 8:33 ` Sathya Prakash M R
2014-02-28 21:32 ` Tony Lindgren
3 siblings, 1 reply; 7+ messages in thread
From: Sathya Prakash M R @ 2013-12-03 8:33 UTC (permalink / raw)
To: tony, tomi.valkeinen, devicetree, linux-omap, rob.herring,
pawel.moll, mark.rutland, paul
Cc: Sathya Prakash M R
Add device node for DSS module for AM4372. Both the
AM437x-Gp evm and Am43x-Epos evm use the same LCD panel.
The lcd timings are added in respective dts files.
Adds display pinctrl and enables required gpio.
Also set the right parent clock to the DSS clock.
Signed-off-by: Sathya Prakash M R <sathyap@ti.com>
---
arch/arm/boot/dts/am4372.dtsi | 28 ++++++++++++++
arch/arm/boot/dts/am437x-gp-evm.dts | 68 ++++++++++++++++++++++++++++++++++
arch/arm/boot/dts/am43x-epos-evm.dts | 64 ++++++++++++++++++++++++++++++++
arch/arm/boot/dts/am43xx-clocks.dtsi | 2 +
4 files changed, 162 insertions(+)
diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
index ea55a4e..b72a7df 100644
--- a/arch/arm/boot/dts/am4372.dtsi
+++ b/arch/arm/boot/dts/am4372.dtsi
@@ -684,6 +684,34 @@
num-cs = <4>;
status = "disabled";
};
+
+ dss: dss@4832A000 {
+ compatible = "ti,omap3-dss", "simple-bus";
+ reg = <0x4832A000 0x200>;
+ ti,hwmods = "dss_core";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ dispc@4832A400 {
+ compatible = "ti,omap3-dispc";
+ reg = <0x4832A400 0x400>;
+ interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
+ ti,hwmods = "dss_dispc";
+ };
+
+ dpi: encoder@0 {
+ compatible = "ti,omap3-dpi";
+ };
+
+ rfbi: rfbi@4832A800 {
+ compatible = "ti,omap3-rfbi";
+ reg = <0x4832A800 0x100>;
+ ti,hwmods = "dss_rfbi";
+ };
+
+ };
+
};
clocks {
diff --git a/arch/arm/boot/dts/am437x-gp-evm.dts b/arch/arm/boot/dts/am437x-gp-evm.dts
index 2e79bda..e58652c6 100644
--- a/arch/arm/boot/dts/am437x-gp-evm.dts
+++ b/arch/arm/boot/dts/am437x-gp-evm.dts
@@ -24,6 +24,31 @@
brightness-levels = <0 51 53 56 62 75 101 152 255>;
default-brightness-level = <8>;
};
+
+ aliases {
+ display0 = &lcd0;
+ };
+
+ lcd0: display@0 {
+ compatible = "osddisplays,osd057T0559-34ts", "panel-dpi";
+ video-source = <&dpi>;
+ data-lines = <24>;
+ panel-timing {
+ clock-frequency = <33000000>;
+ hactive = <800>;
+ vactive = <480>;
+ hfront-porch = <210>;
+ hback-porch = <16>;
+ hsync-len = <30>;
+ vback-porch = <10>;
+ vfront-porch = <22>;
+ vsync-len = <13>;
+ hsync-active = <0>;
+ vsync-active = <0>;
+ de-active = <1>;
+ pixelclk-active = <1>;
+ };
+ };
};
&am43xx_pinmux {
@@ -46,6 +71,40 @@
0x164 MUX_MODE0 /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
>;
};
+
+ dss_pinctrl: dss_pinctrl {
+ pinctrl-single,pins = <
+ 0x020 (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 8 -> DSS DATA 23 */
+ 0x024 (PIN_OUTPUT_PULLUP | MUX_MODE1)
+ 0x028 (PIN_OUTPUT_PULLUP | MUX_MODE1)
+ 0x02C (PIN_OUTPUT_PULLUP | MUX_MODE1)
+ 0x030 (PIN_OUTPUT_PULLUP | MUX_MODE1)
+ 0x034 (PIN_OUTPUT_PULLUP | MUX_MODE1)
+ 0x038 (PIN_OUTPUT_PULLUP | MUX_MODE1)
+ 0x03C (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 15 -> DSS DATA 16 */
+ 0x0A0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 0 */
+ 0x0A4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0A8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0AC (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0B0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0B4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0B8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0BC (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0C0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0C4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0C8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0CC (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0D0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0D4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0D8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0DC (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 15 */
+ 0x0E0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS VSYNC */
+ 0x0E4 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS HSYNC */
+ 0x0E8 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS PCLK */
+ 0x0EC (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS AC BIAS EN */
+ 0x238 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* GPIO 5_8 to select LCD / HDMI */
+ >;
+ };
};
&i2c0 {
@@ -69,3 +128,12 @@
pinctrl-names = "default";
pinctrl-0 = <&ecap0_pins>;
};
+
+&gpio5 {
+ status = "okay";
+};
+
+&dpi {
+ pinctrl-names = "default";
+ pinctrl-0 = <&dss_pinctrl>;
+};
diff --git a/arch/arm/boot/dts/am43x-epos-evm.dts b/arch/arm/boot/dts/am43x-epos-evm.dts
index 2ebcde6..20e5415 100644
--- a/arch/arm/boot/dts/am43x-epos-evm.dts
+++ b/arch/arm/boot/dts/am43x-epos-evm.dts
@@ -27,6 +27,31 @@
enable-active-high;
};
+ aliases {
+ display0 = &lcd0;
+ };
+
+ lcd0: display@0 {
+ compatible = "osddisplays,osd057T0559-34ts", "panel-dpi";
+ video-source = <&dpi>;
+ data-lines = <24>;
+ panel-timing {
+ clock-frequency = <33000000>;
+ hactive = <800>;
+ vactive = <480>;
+ hfront-porch = <210>;
+ hback-porch = <16>;
+ hsync-len = <30>;
+ vback-porch = <10>;
+ vfront-porch = <22>;
+ vsync-len = <13>;
+ hsync-active = <0>;
+ vsync-active = <0>;
+ de-active = <1>;
+ pixelclk-active = <1>;
+ };
+ };
+
am43xx_pinmux: pinmux@44e10800 {
cpsw_default: cpsw_default {
pinctrl-single,pins = <
@@ -122,6 +147,40 @@
0x19c (PIN_OUTPUT | MUX_MODE3) /* mcasp0_ahclkr.spi1_cs0 */
>;
};
+
+ dss_pinctrl: dss_pinctrl {
+ pinctrl-single,pins = <
+ 0x020 (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 8 -> DSS DATA 23 */
+ 0x024 (PIN_OUTPUT_PULLUP | MUX_MODE1)
+ 0x028 (PIN_OUTPUT_PULLUP | MUX_MODE1)
+ 0x02C (PIN_OUTPUT_PULLUP | MUX_MODE1)
+ 0x030 (PIN_OUTPUT_PULLUP | MUX_MODE1)
+ 0x034 (PIN_OUTPUT_PULLUP | MUX_MODE1)
+ 0x038 (PIN_OUTPUT_PULLUP | MUX_MODE1)
+ 0x03C (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 15 -> DSS DATA 16 */
+ 0x0A0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 0 */
+ 0x0A4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0A8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0AC (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0B0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0B4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0B8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0BC (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0C0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0C4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0C8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0CC (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0D0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0D4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0D8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
+ 0x0DC (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 15 */
+ 0x0E0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS VSYNC */
+ 0x0E4 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS HSYNC */
+ 0x0E8 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS PCLK */
+ 0x0EC (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS AC BIAS EN */
+ 0x08C (PIN_OUTPUT_PULLUP | MUX_MODE7) /* GPMC CLK -> GPIO 2_1 to select LCD / HDMI */
+ >;
+ };
};
matrix_keypad: matrix_keypad@0 {
@@ -279,3 +338,8 @@
pinctrl-0 = <&spi1_pins>;
status = "okay";
};
+
+&dpi {
+ pinctrl-names = "default";
+ pinctrl-0 = <&dss_pinctrl>;
+};
diff --git a/arch/arm/boot/dts/am43xx-clocks.dtsi b/arch/arm/boot/dts/am43xx-clocks.dtsi
index 85e7d4b..b20e192 100644
--- a/arch/arm/boot/dts/am43xx-clocks.dtsi
+++ b/arch/arm/boot/dts/am43xx-clocks.dtsi
@@ -512,6 +512,8 @@ disp_clk: disp_clk@44df4244 {
compatible = "ti,mux-clock";
clocks = <&dpll_disp_m2_ck>, <&dpll_core_m5_ck>, <&dpll_per_m2_ck>;
reg = <0x44df4244 0x4>;
+ bit-mask = <0x3>;
+ set-rate-parent;
};
dpll_extdev_ck: dpll_extdev_ck@44df2e60 {
--
1.7.9.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/4] ARM: AM43xx: fix dpll init in bypass mode
2013-12-03 8:33 ` [PATCH 2/4] ARM: AM43xx: fix dpll init in bypass mode Sathya Prakash M R
@ 2013-12-09 1:23 ` Paul Walmsley
0 siblings, 0 replies; 7+ messages in thread
From: Paul Walmsley @ 2013-12-09 1:23 UTC (permalink / raw)
To: Sathya Prakash M R
Cc: tony, tomi.valkeinen, devicetree, linux-omap, rob.herring,
pawel.moll, mark.rutland
On Tue, 3 Dec 2013, Sathya Prakash M R wrote:
> From: Tomi Valkeinen <tomi.valkeinen@ti.com>
>
> On AM43xx, if a PLL is in bypass at kernel init, the code in
> omap2_get_dpll_rate() will not realize this and will try to calculate
> the clock rate using the multiplier and the divider, resulting in
> errors.
>
> omap2_init_dpll_parent() has similar issue.
>
> Add the missing soc_is_am43xx() check to make the code work on AM43xx.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Did you intend to add your Signed-off-by: here, as is the upstream
practice when you're part of the patch submission path?
Please let me know ASAP so I can queue this for the -rc series.
- Paul
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 4/4] ARM: DTS: AM43x: Add DSS node
2013-12-03 8:33 ` [PATCH 4/4] ARM: DTS: AM43x: Add DSS node Sathya Prakash M R
@ 2014-02-28 21:32 ` Tony Lindgren
0 siblings, 0 replies; 7+ messages in thread
From: Tony Lindgren @ 2014-02-28 21:32 UTC (permalink / raw)
To: Sathya Prakash M R
Cc: tomi.valkeinen, devicetree, linux-omap, rob.herring, pawel.moll,
mark.rutland, paul
* Sathya Prakash M R <sathyap@ti.com> [131203 00:35]:
> Add device node for DSS module for AM4372. Both the
> AM437x-Gp evm and Am43x-Epos evm use the same LCD panel.
> The lcd timings are added in respective dts files.
> Adds display pinctrl and enables required gpio.
> Also set the right parent clock to the DSS clock.
This seems to depend on Tomi's patches for the bindings, so it seems
like we need to wait on this a bit. I'll untag this for now, please
repost when the dependencies are merged.
Regards,
Tony
> Signed-off-by: Sathya Prakash M R <sathyap@ti.com>
> ---
> arch/arm/boot/dts/am4372.dtsi | 28 ++++++++++++++
> arch/arm/boot/dts/am437x-gp-evm.dts | 68 ++++++++++++++++++++++++++++++++++
> arch/arm/boot/dts/am43x-epos-evm.dts | 64 ++++++++++++++++++++++++++++++++
> arch/arm/boot/dts/am43xx-clocks.dtsi | 2 +
> 4 files changed, 162 insertions(+)
>
> diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
> index ea55a4e..b72a7df 100644
> --- a/arch/arm/boot/dts/am4372.dtsi
> +++ b/arch/arm/boot/dts/am4372.dtsi
> @@ -684,6 +684,34 @@
> num-cs = <4>;
> status = "disabled";
> };
> +
> + dss: dss@4832A000 {
> + compatible = "ti,omap3-dss", "simple-bus";
> + reg = <0x4832A000 0x200>;
> + ti,hwmods = "dss_core";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges;
> +
> + dispc@4832A400 {
> + compatible = "ti,omap3-dispc";
> + reg = <0x4832A400 0x400>;
> + interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
> + ti,hwmods = "dss_dispc";
> + };
> +
> + dpi: encoder@0 {
> + compatible = "ti,omap3-dpi";
> + };
> +
> + rfbi: rfbi@4832A800 {
> + compatible = "ti,omap3-rfbi";
> + reg = <0x4832A800 0x100>;
> + ti,hwmods = "dss_rfbi";
> + };
> +
> + };
> +
> };
>
> clocks {
> diff --git a/arch/arm/boot/dts/am437x-gp-evm.dts b/arch/arm/boot/dts/am437x-gp-evm.dts
> index 2e79bda..e58652c6 100644
> --- a/arch/arm/boot/dts/am437x-gp-evm.dts
> +++ b/arch/arm/boot/dts/am437x-gp-evm.dts
> @@ -24,6 +24,31 @@
> brightness-levels = <0 51 53 56 62 75 101 152 255>;
> default-brightness-level = <8>;
> };
> +
> + aliases {
> + display0 = &lcd0;
> + };
> +
> + lcd0: display@0 {
> + compatible = "osddisplays,osd057T0559-34ts", "panel-dpi";
> + video-source = <&dpi>;
> + data-lines = <24>;
> + panel-timing {
> + clock-frequency = <33000000>;
> + hactive = <800>;
> + vactive = <480>;
> + hfront-porch = <210>;
> + hback-porch = <16>;
> + hsync-len = <30>;
> + vback-porch = <10>;
> + vfront-porch = <22>;
> + vsync-len = <13>;
> + hsync-active = <0>;
> + vsync-active = <0>;
> + de-active = <1>;
> + pixelclk-active = <1>;
> + };
> + };
> };
>
> &am43xx_pinmux {
> @@ -46,6 +71,40 @@
> 0x164 MUX_MODE0 /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
> >;
> };
> +
> + dss_pinctrl: dss_pinctrl {
> + pinctrl-single,pins = <
> + 0x020 (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 8 -> DSS DATA 23 */
> + 0x024 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> + 0x028 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> + 0x02C (PIN_OUTPUT_PULLUP | MUX_MODE1)
> + 0x030 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> + 0x034 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> + 0x038 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> + 0x03C (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 15 -> DSS DATA 16 */
> + 0x0A0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 0 */
> + 0x0A4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0A8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0AC (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0B0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0B4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0B8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0BC (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0C0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0C4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0C8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0CC (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0D0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0D4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0D8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0DC (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 15 */
> + 0x0E0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS VSYNC */
> + 0x0E4 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS HSYNC */
> + 0x0E8 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS PCLK */
> + 0x0EC (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS AC BIAS EN */
> + 0x238 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* GPIO 5_8 to select LCD / HDMI */
> + >;
> + };
> };
>
> &i2c0 {
> @@ -69,3 +128,12 @@
> pinctrl-names = "default";
> pinctrl-0 = <&ecap0_pins>;
> };
> +
> +&gpio5 {
> + status = "okay";
> +};
> +
> +&dpi {
> + pinctrl-names = "default";
> + pinctrl-0 = <&dss_pinctrl>;
> +};
> diff --git a/arch/arm/boot/dts/am43x-epos-evm.dts b/arch/arm/boot/dts/am43x-epos-evm.dts
> index 2ebcde6..20e5415 100644
> --- a/arch/arm/boot/dts/am43x-epos-evm.dts
> +++ b/arch/arm/boot/dts/am43x-epos-evm.dts
> @@ -27,6 +27,31 @@
> enable-active-high;
> };
>
> + aliases {
> + display0 = &lcd0;
> + };
> +
> + lcd0: display@0 {
> + compatible = "osddisplays,osd057T0559-34ts", "panel-dpi";
> + video-source = <&dpi>;
> + data-lines = <24>;
> + panel-timing {
> + clock-frequency = <33000000>;
> + hactive = <800>;
> + vactive = <480>;
> + hfront-porch = <210>;
> + hback-porch = <16>;
> + hsync-len = <30>;
> + vback-porch = <10>;
> + vfront-porch = <22>;
> + vsync-len = <13>;
> + hsync-active = <0>;
> + vsync-active = <0>;
> + de-active = <1>;
> + pixelclk-active = <1>;
> + };
> + };
> +
> am43xx_pinmux: pinmux@44e10800 {
> cpsw_default: cpsw_default {
> pinctrl-single,pins = <
> @@ -122,6 +147,40 @@
> 0x19c (PIN_OUTPUT | MUX_MODE3) /* mcasp0_ahclkr.spi1_cs0 */
> >;
> };
> +
> + dss_pinctrl: dss_pinctrl {
> + pinctrl-single,pins = <
> + 0x020 (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 8 -> DSS DATA 23 */
> + 0x024 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> + 0x028 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> + 0x02C (PIN_OUTPUT_PULLUP | MUX_MODE1)
> + 0x030 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> + 0x034 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> + 0x038 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> + 0x03C (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 15 -> DSS DATA 16 */
> + 0x0A0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 0 */
> + 0x0A4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0A8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0AC (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0B0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0B4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0B8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0BC (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0C0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0C4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0C8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0CC (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0D0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0D4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0D8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> + 0x0DC (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 15 */
> + 0x0E0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS VSYNC */
> + 0x0E4 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS HSYNC */
> + 0x0E8 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS PCLK */
> + 0x0EC (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS AC BIAS EN */
> + 0x08C (PIN_OUTPUT_PULLUP | MUX_MODE7) /* GPMC CLK -> GPIO 2_1 to select LCD / HDMI */
> + >;
> + };
> };
>
> matrix_keypad: matrix_keypad@0 {
> @@ -279,3 +338,8 @@
> pinctrl-0 = <&spi1_pins>;
> status = "okay";
> };
> +
> +&dpi {
> + pinctrl-names = "default";
> + pinctrl-0 = <&dss_pinctrl>;
> +};
> diff --git a/arch/arm/boot/dts/am43xx-clocks.dtsi b/arch/arm/boot/dts/am43xx-clocks.dtsi
> index 85e7d4b..b20e192 100644
> --- a/arch/arm/boot/dts/am43xx-clocks.dtsi
> +++ b/arch/arm/boot/dts/am43xx-clocks.dtsi
> @@ -512,6 +512,8 @@ disp_clk: disp_clk@44df4244 {
> compatible = "ti,mux-clock";
> clocks = <&dpll_disp_m2_ck>, <&dpll_core_m5_ck>, <&dpll_per_m2_ck>;
> reg = <0x44df4244 0x4>;
> + bit-mask = <0x3>;
> + set-rate-parent;
> };
>
> dpll_extdev_ck: dpll_extdev_ck@44df2e60 {
> --
> 1.7.9.5
>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-02-28 21:32 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-03 8:33 [PATCH 0/4] Add Display support for AM43xx Sathya Prakash M R
2013-12-03 8:33 ` [PATCH 1/4] OMAPDSS: Add DSS features " Sathya Prakash M R
2013-12-03 8:33 ` [PATCH 2/4] ARM: AM43xx: fix dpll init in bypass mode Sathya Prakash M R
2013-12-09 1:23 ` Paul Walmsley
2013-12-03 8:33 ` [PATCH 3/4] ARM: OMAP2+: AM43xx DSS Hwmod Sathya Prakash M R
2013-12-03 8:33 ` [PATCH 4/4] ARM: DTS: AM43x: Add DSS node Sathya Prakash M R
2014-02-28 21:32 ` Tony Lindgren
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).