* [PATCH 0/3] OMAP4: DSS OMAP4 hwmod support
@ 2011-01-05 17:44 Sumit Semwal
2011-01-05 17:44 ` [PATCH 1/3] OMAP2PLUS: DSS2: Add OMAP4 support Sumit Semwal
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Sumit Semwal @ 2011-01-05 17:44 UTC (permalink / raw)
To: tomi.valkeinen, paul, khilman, hvaibhav, linux-omap; +Cc: Sumit Semwal
This patch series enables support for OMAP4 DSS, and adds hwmod support
for dss, dispc, dsi1, dsi2, hdmi, rfbi and venc hwmods.
In OMAP4 there are severals IPs that can be reached by differents
interconnect paths depending of the access initiator (MPU vs. SDMA).
In the case of the DSS, both L3 direct path and L4 CFG path can be
used to access all the DSS IPs.
dss is also considered as an IP as dispc, rfbi, and named as dss_dss.
TODO:
This patch doesn't handle the opt clocks via hwmod - there will be a separate
patch series which will take opt clock roles from hwmod, populate them in
the device structure, so that the driver can ask for relevant opt-clocks.
Also TBD is the migration to pm_runtime APIs, which need to be adapted a little
for handling DSS-family of clocks completely.
Patch Base:
===========
url = git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git
branch "master"
Commit id: fa3b4e23ec20cfc944db7cc2b30b0d82c20e4472
Description: cbus: Fix retu_rtc_do_reset
+
hwmod patches under discussion: http://www.mail-archive.com/linux-omap@vger.kernel.org/msg41534.html
+
patch series: OMAP2PLUS: DSS: Generalize clock names
--------------------------------------------------------
Benoit Cousson (1):
OMAP4: hwmod data: add DSS DISPC DSI1,2 RFBI HDMI VENC
Mayuresh Janorkar (1):
OMAP2PLUS: DSS2: Add OMAP4 support
Sumit Semwal (1):
OMAP4: DSS2: Add hwmod device names for OMAP4.
arch/arm/mach-omap2/display.c | 23 +-
arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 588 ++++++++++++++++++++++++++++
drivers/video/omap2/dss/Kconfig | 6 +-
drivers/video/omap2/omapfb/Kconfig | 6 +-
4 files changed, 609 insertions(+), 14 deletions(-)
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/3] OMAP2PLUS: DSS2: Add OMAP4 support
2011-01-05 17:44 [PATCH 0/3] OMAP4: DSS OMAP4 hwmod support Sumit Semwal
@ 2011-01-05 17:44 ` Sumit Semwal
2011-01-05 17:44 ` [PATCH 2/3] OMAP4: hwmod data: add DSS DISPC DSI1,2 RFBI HDMI VENC Sumit Semwal
` (2 subsequent siblings)
3 siblings, 0 replies; 8+ messages in thread
From: Sumit Semwal @ 2011-01-05 17:44 UTC (permalink / raw)
To: tomi.valkeinen, paul, khilman, hvaibhav, linux-omap; +Cc: Mayuresh Janorkar
From: Mayuresh Janorkar <mayur@ti.com>
Enable DSS2 and OMAPFB for OMAP4
Signed-off-by: Mayuresh Janorkar <mayur@ti.com>
---
drivers/video/omap2/dss/Kconfig | 6 +++---
drivers/video/omap2/omapfb/Kconfig | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/video/omap2/dss/Kconfig b/drivers/video/omap2/dss/Kconfig
index 43b6440..0d031b2 100644
--- a/drivers/video/omap2/dss/Kconfig
+++ b/drivers/video/omap2/dss/Kconfig
@@ -1,8 +1,8 @@
menuconfig OMAP2_DSS
- tristate "OMAP2/3 Display Subsystem support (EXPERIMENTAL)"
- depends on ARCH_OMAP2 || ARCH_OMAP3
+ tristate "OMAP2+ Display Subsystem support (EXPERIMENTAL)"
+ depends on ARCH_OMAP2PLUS
help
- OMAP2/3 Display Subsystem support.
+ OMAP2+ Display Subsystem support.
if OMAP2_DSS
diff --git a/drivers/video/omap2/omapfb/Kconfig b/drivers/video/omap2/omapfb/Kconfig
index 65149b2..1da712e 100644
--- a/drivers/video/omap2/omapfb/Kconfig
+++ b/drivers/video/omap2/omapfb/Kconfig
@@ -1,5 +1,5 @@
menuconfig FB_OMAP2
- tristate "OMAP2/3 frame buffer support (EXPERIMENTAL)"
+ tristate "OMAP2+ frame buffer support (EXPERIMENTAL)"
depends on FB && OMAP2_DSS
select OMAP2_VRAM
@@ -8,10 +8,10 @@ menuconfig FB_OMAP2
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
help
- Frame buffer driver for OMAP2/3 based boards.
+ Frame buffer driver for OMAP2+ based boards.
config FB_OMAP2_DEBUG_SUPPORT
- bool "Debug support for OMAP2/3 FB"
+ bool "Debug support for OMAP2+ FB"
default y
depends on FB_OMAP2
help
--
1.7.0.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/3] OMAP4: hwmod data: add DSS DISPC DSI1,2 RFBI HDMI VENC
2011-01-05 17:44 [PATCH 0/3] OMAP4: DSS OMAP4 hwmod support Sumit Semwal
2011-01-05 17:44 ` [PATCH 1/3] OMAP2PLUS: DSS2: Add OMAP4 support Sumit Semwal
@ 2011-01-05 17:44 ` Sumit Semwal
2011-01-05 17:44 ` [PATCH 3/3] OMAP4: DSS2: Add hwmod device names for OMAP4 Sumit Semwal
2011-01-07 23:02 ` [PATCH 0/3] OMAP4: DSS OMAP4 hwmod support Kevin Hilman
3 siblings, 0 replies; 8+ messages in thread
From: Sumit Semwal @ 2011-01-05 17:44 UTC (permalink / raw)
To: tomi.valkeinen, paul, khilman, hvaibhav, linux-omap
Cc: Benoit Cousson, Mayuresh Janorkar, Senthilvadivu Guruswamy
From: Benoit Cousson <b-cousson@ti.com>
Add dss, dispc, dsi1, dsi2, hdmi, rfbi and venc hwmods.
In OMAP4 there are severals IPs that can be reached by differents
interconnect paths depending of the access initiator (MPU vs. SDMA).
In the case of the DSS, both L3 direct path and L4 CFG path can be
used to access all the DSS IPs. The two ocp_ip already exists to support
the two address spaces.
+------------+-- L3_MAIN --+ MPU
IP | |
+-- L4_CFG --+
L3 main address range is specified first, since it is used by default.
dss is also considered as an IP as dispc, rfbi, and named as dss_dss.
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Mayuresh Janorkar <mayur@ti.com>
Signed-off-by: Senthilvadivu Guruswamy <svadivu@ti.com>
---
arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 588 ++++++++++++++++++++++++++++
1 files changed, 588 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
index c2806bd..c53ed18 100644
--- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
@@ -43,6 +43,13 @@
static struct omap_hwmod omap44xx_dma_system_hwmod;
static struct omap_hwmod omap44xx_dmm_hwmod;
static struct omap_hwmod omap44xx_dsp_hwmod;
+static struct omap_hwmod omap44xx_dss_dss_hwmod;
+static struct omap_hwmod omap44xx_dss_dispc_hwmod;
+static struct omap_hwmod omap44xx_dss_dsi1_hwmod;
+static struct omap_hwmod omap44xx_dss_dsi2_hwmod;
+static struct omap_hwmod omap44xx_dss_hdmi_hwmod;
+static struct omap_hwmod omap44xx_dss_rfbi_hwmod;
+static struct omap_hwmod omap44xx_dss_venc_hwmod;
static struct omap_hwmod omap44xx_emif_fw_hwmod;
static struct omap_hwmod omap44xx_iva_hwmod;
static struct omap_hwmod omap44xx_l3_instr_hwmod;
@@ -237,12 +244,21 @@ static struct omap_hwmod_ocp_if omap44xx_mpu__l3_main_1 = {
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
+/* dss -> l3_main_1 */
+static struct omap_hwmod_ocp_if omap44xx_dss__l3_main_1 = {
+ .master = &omap44xx_dss_dss_hwmod,
+ .slave = &omap44xx_l3_main_1_hwmod,
+ .clk = "l3_div_ck",
+ .user = OCP_USER_MPU | OCP_USER_SDMA,
+};
+
/* l3_main_1 slave ports */
static struct omap_hwmod_ocp_if *omap44xx_l3_main_1_slaves[] = {
&omap44xx_dsp__l3_main_1,
&omap44xx_l3_main_2__l3_main_1,
&omap44xx_l4_cfg__l3_main_1,
&omap44xx_mpu__l3_main_1,
+ &omap44xx_dss__l3_main_1,
};
static struct omap_hwmod omap44xx_l3_main_1_hwmod = {
@@ -746,6 +762,569 @@ static struct omap_hwmod omap44xx_dsp_hwmod = {
.omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
};
+/* ==== DSS related classes ==== */
+ /*
+ * 'dispc' class
+ * display controller
+ */
+
+static struct omap_hwmod_class_sysconfig omap44xx_dispc_sysc = {
+ .rev_offs = 0x0000,
+ .sysc_offs = 0x0010,
+ .syss_offs = 0x0014,
+ .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY |
+ SYSC_HAS_ENAWAKEUP | SYSC_HAS_MIDLEMODE |
+ SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
+ SYSS_HAS_RESET_STATUS),
+ .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
+ MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
+ .sysc_fields = &omap_hwmod_sysc_type1,
+};
+
+static struct omap_hwmod_class omap44xx_dispc_hwmod_class = {
+ .name = "dispc",
+ .sysc = &omap44xx_dispc_sysc,
+};
+
+/* dss_dispc */
+static struct omap_hwmod_irq_info omap44xx_dss_dispc_irqs[] = {
+ { .irq = 25 + OMAP44XX_IRQ_GIC_START },
+};
+
+static struct omap_hwmod_dma_info omap44xx_dss_dispc_sdma_reqs[] = {
+ { .dma_req = 5 + OMAP44XX_DMA_REQ_START },
+};
+
+static struct omap_hwmod_addr_space omap44xx_dss_dispc_addrs[] = {
+ {
+ .pa_start = 0x48041000,
+ .pa_end = 0x48041fff,
+ .flags = ADDR_TYPE_RT
+ },
+};
+
+/* l4_per -> dss_dispc */
+static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_dispc = {
+ .master = &omap44xx_l4_per_hwmod,
+ .slave = &omap44xx_dss_dispc_hwmod,
+ .clk = "l4_div_ck",
+ .addr = omap44xx_dss_dispc_addrs,
+ .addr_cnt = ARRAY_SIZE(omap44xx_dss_dispc_addrs),
+ .user = OCP_USER_MPU,
+};
+
+static struct omap_hwmod_addr_space omap44xx_dss_dispc_dma_addrs[] = {
+ {
+ .pa_start = 0x58001000,
+ .pa_end = 0x58001fff,
+ .flags = ADDR_TYPE_RT
+ },
+};
+
+/* l3_main_2 -> dss_dispc */
+static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dispc = {
+ .master = &omap44xx_l3_main_2_hwmod,
+ .slave = &omap44xx_dss_dispc_hwmod,
+ .clk = "l3_div_ck",
+ .addr = omap44xx_dss_dispc_dma_addrs,
+ .addr_cnt = ARRAY_SIZE(omap44xx_dss_dispc_dma_addrs),
+ .user = OCP_USER_SDMA,
+};
+
+/* dss_dispc slave ports */
+static struct omap_hwmod_ocp_if *omap44xx_dss_dispc_slaves[] = {
+ &omap44xx_l3_main_2__dss_dispc,
+ &omap44xx_l4_per__dss_dispc,
+};
+
+static struct omap_hwmod omap44xx_dss_dispc_hwmod = {
+ .name = "dss_dispc",
+ .class = &omap44xx_dispc_hwmod_class,
+ .mpu_irqs = omap44xx_dss_dispc_irqs,
+ .mpu_irqs_cnt = ARRAY_SIZE(omap44xx_dss_dispc_irqs),
+ .sdma_reqs = omap44xx_dss_dispc_sdma_reqs,
+ .sdma_reqs_cnt = ARRAY_SIZE(omap44xx_dss_dispc_sdma_reqs),
+ .main_clk = "dss_fck",
+ .prcm = {
+ .omap4 = {
+ .clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
+ },
+ },
+ .slaves = omap44xx_dss_dispc_slaves,
+ .slaves_cnt = ARRAY_SIZE(omap44xx_dss_dispc_slaves),
+ .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
+};
+
+/*
+ * 'dsi' class
+ * display serial interface controller
+ */
+
+static struct omap_hwmod_class omap44xx_dsi_hwmod_class = {
+ .name = "dsi",
+};
+
+/* dss_dsi1 */
+static struct omap_hwmod_irq_info omap44xx_dss_dsi1_irqs[] = {
+ { .irq = 53 + OMAP44XX_IRQ_GIC_START },
+};
+
+static struct omap_hwmod_dma_info omap44xx_dss_dsi1_sdma_reqs[] = {
+ { .dma_req = 74 + OMAP44XX_DMA_REQ_START },
+};
+
+static struct omap_hwmod_addr_space omap44xx_dss_dsi1_addrs[] = {
+ {
+ .pa_start = 0x48044000,
+ .pa_end = 0x480440ff,
+ .flags = ADDR_TYPE_RT
+ },
+};
+
+/* l4_per -> dss_dsi1 */
+static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_dsi1 = {
+ .master = &omap44xx_l4_per_hwmod,
+ .slave = &omap44xx_dss_dsi1_hwmod,
+ .clk = "l4_div_ck",
+ .addr = omap44xx_dss_dsi1_addrs,
+ .addr_cnt = ARRAY_SIZE(omap44xx_dss_dsi1_addrs),
+ .user = OCP_USER_MPU,
+};
+
+static struct omap_hwmod_addr_space omap44xx_dss_dsi1_dma_addrs[] = {
+ {
+ .pa_start = 0x58004000,
+ .pa_end = 0x580040ff,
+ .flags = ADDR_TYPE_RT
+ },
+};
+
+/* l3_main_2 -> dss_dsi1 */
+static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dsi1 = {
+ .master = &omap44xx_l3_main_2_hwmod,
+ .slave = &omap44xx_dss_dsi1_hwmod,
+ .clk = "l3_div_ck",
+ .addr = omap44xx_dss_dsi1_dma_addrs,
+ .addr_cnt = ARRAY_SIZE(omap44xx_dss_dsi1_dma_addrs),
+ .user = OCP_USER_SDMA,
+};
+
+/* dss_dsi1 slave ports */
+static struct omap_hwmod_ocp_if *omap44xx_dss_dsi1_slaves[] = {
+ &omap44xx_l3_main_2__dss_dsi1,
+ &omap44xx_l4_per__dss_dsi1,
+};
+
+static struct omap_hwmod omap44xx_dss_dsi1_hwmod = {
+ .name = "dss_dsi1",
+ .class = &omap44xx_dsi_hwmod_class,
+ .mpu_irqs = omap44xx_dss_dsi1_irqs,
+ .mpu_irqs_cnt = ARRAY_SIZE(omap44xx_dss_dsi1_irqs),
+ .sdma_reqs = omap44xx_dss_dsi1_sdma_reqs,
+ .sdma_reqs_cnt = ARRAY_SIZE(omap44xx_dss_dsi1_sdma_reqs),
+ .prcm = {
+ .omap4 = {
+ .clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
+ },
+ },
+ .slaves = omap44xx_dss_dsi1_slaves,
+ .slaves_cnt = ARRAY_SIZE(omap44xx_dss_dsi1_slaves),
+ .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
+};
+
+/* dss_dsi2 */
+static struct omap_hwmod_irq_info omap44xx_dss_dsi2_irqs[] = {
+ { .irq = 84 + OMAP44XX_IRQ_GIC_START },
+};
+
+static struct omap_hwmod_dma_info omap44xx_dss_dsi2_sdma_reqs[] = {
+ { .dma_req = 83 + OMAP44XX_DMA_REQ_START },
+};
+
+static struct omap_hwmod_addr_space omap44xx_dss_dsi2_addrs[] = {
+ {
+ .pa_start = 0x48045000,
+ .pa_end = 0x480450ff,
+ .flags = ADDR_TYPE_RT
+ },
+};
+
+/* l4_per -> dss_dsi2 */
+static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_dsi2 = {
+ .master = &omap44xx_l4_per_hwmod,
+ .slave = &omap44xx_dss_dsi2_hwmod,
+ .clk = "l4_div_ck",
+ .addr = omap44xx_dss_dsi2_addrs,
+ .addr_cnt = ARRAY_SIZE(omap44xx_dss_dsi2_addrs),
+ .user = OCP_USER_MPU,
+};
+
+static struct omap_hwmod_addr_space omap44xx_dss_dsi2_dma_addrs[] = {
+ {
+ .pa_start = 0x58005000,
+ .pa_end = 0x580050ff,
+ .flags = ADDR_TYPE_RT
+ },
+};
+
+/* l3_main_2 -> dss_dsi2 */
+static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dsi2 = {
+ .master = &omap44xx_l3_main_2_hwmod,
+ .slave = &omap44xx_dss_dsi2_hwmod,
+ .clk = "l3_div_ck",
+ .addr = omap44xx_dss_dsi2_dma_addrs,
+ .addr_cnt = ARRAY_SIZE(omap44xx_dss_dsi2_dma_addrs),
+ .user = OCP_USER_SDMA,
+};
+
+/* dss_dsi2 slave ports */
+static struct omap_hwmod_ocp_if *omap44xx_dss_dsi2_slaves[] = {
+ &omap44xx_l3_main_2__dss_dsi2,
+ &omap44xx_l4_per__dss_dsi2,
+};
+
+static struct omap_hwmod omap44xx_dss_dsi2_hwmod = {
+ .name = "dss_dsi2",
+ .class = &omap44xx_dsi_hwmod_class,
+ .mpu_irqs = omap44xx_dss_dsi2_irqs,
+ .mpu_irqs_cnt = ARRAY_SIZE(omap44xx_dss_dsi2_irqs),
+ .sdma_reqs = omap44xx_dss_dsi2_sdma_reqs,
+ .sdma_reqs_cnt = ARRAY_SIZE(omap44xx_dss_dsi2_sdma_reqs),
+ .prcm = {
+ .omap4 = {
+ .clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
+ },
+ },
+ .slaves = omap44xx_dss_dsi2_slaves,
+ .slaves_cnt = ARRAY_SIZE(omap44xx_dss_dsi2_slaves),
+ .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
+};
+
+/*
+ * 'dss' class
+ * display sub-system
+ */
+static struct omap_hwmod_class_sysconfig omap44xx_dss_sysc = {
+ .rev_offs = 0x0000,
+ .syss_offs = 0x0014,
+ .sysc_flags = SYSS_HAS_RESET_STATUS,
+ .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
+};
+
+static struct omap_hwmod_class omap44xx_dss_hwmod_class = {
+ .name = "dss",
+ .sysc = &omap44xx_dss_sysc,
+};
+
+/* dss */
+/* dss master ports */
+static struct omap_hwmod_ocp_if *omap44xx_dss_masters[] = {
+ &omap44xx_dss__l3_main_1,
+};
+
+static struct omap_hwmod_irq_info omap44xx_dss_irqs[] = {
+ { .irq = 25 + OMAP44XX_IRQ_GIC_START },
+};
+
+static struct omap_hwmod_addr_space omap44xx_dss_addrs[] = {
+ {
+ .pa_start = 0x48040000,
+ .pa_end = 0x4804007f,
+ .flags = ADDR_TYPE_RT
+ },
+};
+
+/* l4_per -> dss */
+static struct omap_hwmod_ocp_if omap44xx_l4_per__dss = {
+ .master = &omap44xx_l4_per_hwmod,
+ .slave = &omap44xx_dss_dss_hwmod,
+ .clk = "l4_div_ck",
+ .addr = omap44xx_dss_addrs,
+ .addr_cnt = ARRAY_SIZE(omap44xx_dss_addrs),
+ .user = OCP_USER_MPU,
+};
+
+static struct omap_hwmod_addr_space omap44xx_dss_dma_addrs[] = {
+ {
+ .pa_start = 0x58000000,
+ .pa_end = 0x5800007f,
+ .flags = ADDR_TYPE_RT
+ },
+};
+
+/* l3_main_2 -> dss */
+static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss = {
+ .master = &omap44xx_l3_main_2_hwmod,
+ .slave = &omap44xx_dss_dss_hwmod,
+ .clk = "l3_div_ck",
+ .addr = omap44xx_dss_dma_addrs,
+ .addr_cnt = ARRAY_SIZE(omap44xx_dss_dma_addrs),
+ .user = OCP_USER_SDMA,
+};
+
+/* dss slave ports */
+static struct omap_hwmod_ocp_if *omap44xx_dss_slaves[] = {
+ &omap44xx_l3_main_2__dss,
+ &omap44xx_l4_per__dss,
+};
+
+static struct omap_hwmod_opt_clk dss_opt_clks[] = {
+ { .role = "sys_clk", .clk = "dss_sys_clk" },
+ { .role = "tv_clk", .clk = "dss_tv_clk" },
+ { .role = "dss_clk", .clk = "dss_dss_clk" },
+ { .role = "video_clk", .clk = "dss_48mhz_clk" },
+};
+
+static struct omap_hwmod omap44xx_dss_dss_hwmod = {
+ .name = "dss_dss",
+ .class = &omap44xx_dss_hwmod_class,
+ .mpu_irqs = omap44xx_dss_irqs,
+ .mpu_irqs_cnt = ARRAY_SIZE(omap44xx_dss_irqs),
+ .main_clk = "dss_fck",
+ .prcm = {
+ .omap4 = {
+ .clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
+ },
+ },
+ .opt_clks = dss_opt_clks,
+ .opt_clks_cnt = ARRAY_SIZE(dss_opt_clks),
+ .slaves = omap44xx_dss_slaves,
+ .slaves_cnt = ARRAY_SIZE(omap44xx_dss_slaves),
+ .masters = omap44xx_dss_masters,
+ .masters_cnt = ARRAY_SIZE(omap44xx_dss_masters),
+ .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
+};
+
+/*
+ * 'hdmi' class
+ * hdmi controller
+ */
+
+static struct omap_hwmod_class omap44xx_hdmi_hwmod_class = {
+ .name = "hdmi",
+};
+
+/* dss_hdmi */
+static struct omap_hwmod_irq_info omap44xx_dss_hdmi_irqs[] = {
+ { .irq = 101 + OMAP44XX_IRQ_GIC_START },
+};
+
+static struct omap_hwmod_dma_info omap44xx_dss_hdmi_sdma_reqs[] = {
+ { .dma_req = 75 + OMAP44XX_DMA_REQ_START },
+};
+
+static struct omap_hwmod_addr_space omap44xx_dss_hdmi_addrs[] = {
+ {
+ .pa_start = 0x48046000,
+ .pa_end = 0x48046fff,
+ .flags = ADDR_TYPE_RT
+ },
+};
+
+/* l4_per -> dss_hdmi */
+static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_hdmi = {
+ .master = &omap44xx_l4_per_hwmod,
+ .slave = &omap44xx_dss_hdmi_hwmod,
+ .clk = "l4_div_ck",
+ .addr = omap44xx_dss_hdmi_addrs,
+ .addr_cnt = ARRAY_SIZE(omap44xx_dss_hdmi_addrs),
+ .user = OCP_USER_MPU,
+};
+
+static struct omap_hwmod_addr_space omap44xx_dss_hdmi_dma_addrs[] = {
+ {
+ .pa_start = 0x58006000,
+ .pa_end = 0x58006fff,
+ .flags = ADDR_TYPE_RT
+ },
+};
+
+/* l3_main_2 -> dss_hdmi */
+static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_hdmi = {
+ .master = &omap44xx_l3_main_2_hwmod,
+ .slave = &omap44xx_dss_hdmi_hwmod,
+ .clk = "l3_div_ck",
+ .addr = omap44xx_dss_hdmi_dma_addrs,
+ .addr_cnt = ARRAY_SIZE(omap44xx_dss_hdmi_dma_addrs),
+ .user = OCP_USER_SDMA,
+};
+
+/* dss_hdmi slave ports */
+static struct omap_hwmod_ocp_if *omap44xx_dss_hdmi_slaves[] = {
+ &omap44xx_l3_main_2__dss_hdmi,
+ &omap44xx_l4_per__dss_hdmi,
+};
+
+static struct omap_hwmod omap44xx_dss_hdmi_hwmod = {
+ .name = "dss_hdmi",
+ .class = &omap44xx_hdmi_hwmod_class,
+ .mpu_irqs = omap44xx_dss_hdmi_irqs,
+ .mpu_irqs_cnt = ARRAY_SIZE(omap44xx_dss_hdmi_irqs),
+ .sdma_reqs = omap44xx_dss_hdmi_sdma_reqs,
+ .sdma_reqs_cnt = ARRAY_SIZE(omap44xx_dss_hdmi_sdma_reqs),
+ .prcm = {
+ .omap4 = {
+ .clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
+ },
+ },
+ .slaves = omap44xx_dss_hdmi_slaves,
+ .slaves_cnt = ARRAY_SIZE(omap44xx_dss_hdmi_slaves),
+ .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
+};
+
+ /*
+ * 'rfbi' class
+ * remote frame buffer interface
+ */
+
+static struct omap_hwmod_class_sysconfig omap44xx_rfbi_sysc = {
+ .rev_offs = 0x0000,
+ .sysc_offs = 0x0010,
+ .syss_offs = 0x0014,
+ .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_SIDLEMODE |
+ SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
+ .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
+ .sysc_fields = &omap_hwmod_sysc_type1,
+};
+
+static struct omap_hwmod_class omap44xx_rfbi_hwmod_class = {
+ .name = "rfbi",
+ .sysc = &omap44xx_rfbi_sysc,
+};
+
+/* dss_rfbi */
+static struct omap_hwmod_dma_info omap44xx_dss_rfbi_sdma_reqs[] = {
+ { .dma_req = 13 + OMAP44XX_DMA_REQ_START },
+};
+
+static struct omap_hwmod_addr_space omap44xx_dss_rfbi_addrs[] = {
+ {
+ .pa_start = 0x48042000,
+ .pa_end = 0x480420ff,
+ .flags = ADDR_TYPE_RT
+ },
+};
+
+/* l4_per -> dss_rfbi */
+static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_rfbi = {
+ .master = &omap44xx_l4_per_hwmod,
+ .slave = &omap44xx_dss_rfbi_hwmod,
+ .clk = "l4_div_ck",
+ .addr = omap44xx_dss_rfbi_addrs,
+ .addr_cnt = ARRAY_SIZE(omap44xx_dss_rfbi_addrs),
+ .user = OCP_USER_MPU,
+};
+
+static struct omap_hwmod_addr_space omap44xx_dss_rfbi_dma_addrs[] = {
+ {
+ .pa_start = 0x58002000,
+ .pa_end = 0x580020ff,
+ .flags = ADDR_TYPE_RT
+ },
+};
+
+/* l3_main_2 -> dss_rfbi */
+static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_rfbi = {
+ .master = &omap44xx_l3_main_2_hwmod,
+ .slave = &omap44xx_dss_rfbi_hwmod,
+ .clk = "l3_div_ck",
+ .addr = omap44xx_dss_rfbi_dma_addrs,
+ .addr_cnt = ARRAY_SIZE(omap44xx_dss_rfbi_dma_addrs),
+ .user = OCP_USER_SDMA,
+};
+
+/* dss_rfbi slave ports */
+static struct omap_hwmod_ocp_if *omap44xx_dss_rfbi_slaves[] = {
+ &omap44xx_l3_main_2__dss_rfbi,
+ &omap44xx_l4_per__dss_rfbi,
+};
+
+static struct omap_hwmod omap44xx_dss_rfbi_hwmod = {
+ .name = "dss_rfbi",
+ .class = &omap44xx_rfbi_hwmod_class,
+ .sdma_reqs = omap44xx_dss_rfbi_sdma_reqs,
+ .sdma_reqs_cnt = ARRAY_SIZE(omap44xx_dss_rfbi_sdma_reqs),
+ .prcm = {
+ .omap4 = {
+ .clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
+ },
+ },
+ .slaves = omap44xx_dss_rfbi_slaves,
+ .slaves_cnt = ARRAY_SIZE(omap44xx_dss_rfbi_slaves),
+ .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
+};
+
+/*
+ * 'venc' class
+ * video encoder
+ */
+
+static struct omap_hwmod_class_sysconfig omap44xx_venc_sysc = {
+ .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
+};
+
+static struct omap_hwmod_class omap44xx_venc_hwmod_class = {
+ .name = "venc",
+ .sysc = &omap44xx_venc_sysc,
+};
+
+/* dss_venc */
+static struct omap_hwmod_addr_space omap44xx_dss_venc_addrs[] = {
+ {
+ .pa_start = 0x48043000,
+ .pa_end = 0x480430ff,
+ .flags = ADDR_TYPE_RT
+ },
+};
+
+/* l4_per -> dss_venc */
+static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_venc = {
+ .master = &omap44xx_l4_per_hwmod,
+ .slave = &omap44xx_dss_venc_hwmod,
+ .clk = "l4_div_ck",
+ .addr = omap44xx_dss_venc_addrs,
+ .addr_cnt = ARRAY_SIZE(omap44xx_dss_venc_addrs),
+ .user = OCP_USER_MPU,
+};
+
+static struct omap_hwmod_addr_space omap44xx_dss_venc_dma_addrs[] = {
+ {
+ .pa_start = 0x58003000,
+ .pa_end = 0x580030ff,
+ .flags = ADDR_TYPE_RT
+ },
+};
+
+/* l3_main_2 -> dss_venc */
+static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_venc = {
+ .master = &omap44xx_l3_main_2_hwmod,
+ .slave = &omap44xx_dss_venc_hwmod,
+ .clk = "l3_div_ck",
+ .addr = omap44xx_dss_venc_dma_addrs,
+ .addr_cnt = ARRAY_SIZE(omap44xx_dss_venc_dma_addrs),
+ .user = OCP_USER_SDMA,
+};
+
+/* dss_venc slave ports */
+static struct omap_hwmod_ocp_if *omap44xx_dss_venc_slaves[] = {
+ &omap44xx_l3_main_2__dss_venc,
+ &omap44xx_l4_per__dss_venc,
+};
+
+static struct omap_hwmod omap44xx_dss_venc_hwmod = {
+ .name = "dss_venc",
+ .class = &omap44xx_venc_hwmod_class,
+ .prcm = {
+ .omap4 = {
+ .clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
+ },
+ },
+ .slaves = omap44xx_dss_venc_slaves,
+ .slaves_cnt = ARRAY_SIZE(omap44xx_dss_venc_slaves),
+ .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
+};
+
+
/*
* 'gpio' class
* general purpose io module
@@ -2031,6 +2610,15 @@ static __initdata struct omap_hwmod *omap44xx_hwmods[] = {
&omap44xx_dsp_hwmod,
&omap44xx_dsp_c0_hwmod,
+ /* dss class */
+ &omap44xx_dss_dss_hwmod,
+ &omap44xx_dss_dispc_hwmod,
+ &omap44xx_dss_dsi1_hwmod,
+ &omap44xx_dss_dsi2_hwmod,
+ &omap44xx_dss_hdmi_hwmod,
+ &omap44xx_dss_rfbi_hwmod,
+ &omap44xx_dss_venc_hwmod,
+
/* gpio class */
&omap44xx_gpio1_hwmod,
&omap44xx_gpio2_hwmod,
--
1.7.0.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/3] OMAP4: DSS2: Add hwmod device names for OMAP4.
2011-01-05 17:44 [PATCH 0/3] OMAP4: DSS OMAP4 hwmod support Sumit Semwal
2011-01-05 17:44 ` [PATCH 1/3] OMAP2PLUS: DSS2: Add OMAP4 support Sumit Semwal
2011-01-05 17:44 ` [PATCH 2/3] OMAP4: hwmod data: add DSS DISPC DSI1,2 RFBI HDMI VENC Sumit Semwal
@ 2011-01-05 17:44 ` Sumit Semwal
2011-01-07 23:02 ` [PATCH 0/3] OMAP4: DSS OMAP4 hwmod support Kevin Hilman
3 siblings, 0 replies; 8+ messages in thread
From: Sumit Semwal @ 2011-01-05 17:44 UTC (permalink / raw)
To: tomi.valkeinen, paul, khilman, hvaibhav, linux-omap; +Cc: Sumit Semwal
Add hwmod device names for OMAP4; this enables device build for omap4 dss
hwmod IPs.
Signed-off-by: Sumit Semwal <sumit.semwal@ti.com>
---
arch/arm/mach-omap2/display.c | 23 +++++++++++++++--------
1 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
index 276b800..918956e 100644
--- a/arch/arm/mach-omap2/display.c
+++ b/arch/arm/mach-omap2/display.c
@@ -51,20 +51,27 @@ int __init omap_display_init(struct omap_dss_board_info
struct omap_device *od;
int i;
struct omap_display_platform_data pdata;
- char *oh_name[] = { "dss_dss", /* omap2,3 */
- "dss_dispc", /* omap2,3 */
- "dss_rfbi", /* omap2,3 */
- "dss_venc", /* omap2,3 */
- "dss_dsi1" }; /* omap3 */
+ char *oh_name[] = { "dss_dss", /* omap2,3,4 */
+ "dss_dispc", /* omap2,3,4 */
+ "dss_rfbi", /* omap2,3,4 */
+ "dss_venc", /* omap2,3,4 */
+ "dss_dsi1", /* omap3,4 */
+ "dss_dsi2", /* omap4 */
+ "dss_hdmi", /* omap4 */
+ };
+
char *dev_name[] = { "omap_dss", "omap_dispc", "omap_rfbi",
"omap_venc", "omap_dsi1" };
int oh_count;
if (cpu_is_omap24xx()) {
- oh_count = ARRAY_SIZE(oh_name) - 1;
- /* last hwmod dev in oh_name is not available for omap2 */
- } else {
+ oh_count = ARRAY_SIZE(oh_name) - 3;
+ /* last 3 hwmod dev in oh_name not available for omap2 */
+ } else if (cpu_is_omap44xx()) {
oh_count = ARRAY_SIZE(oh_name);
+ } else {
+ oh_count = ARRAY_SIZE(oh_name) - 2;
+ /* last 2 hwmod dev in oh_name not available for omap3 */
}
pdata.board_data = board_data;
--
1.7.0.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 0/3] OMAP4: DSS OMAP4 hwmod support
2011-01-05 17:44 [PATCH 0/3] OMAP4: DSS OMAP4 hwmod support Sumit Semwal
` (2 preceding siblings ...)
2011-01-05 17:44 ` [PATCH 3/3] OMAP4: DSS2: Add hwmod device names for OMAP4 Sumit Semwal
@ 2011-01-07 23:02 ` Kevin Hilman
2011-01-09 8:49 ` Semwal, Sumit
3 siblings, 1 reply; 8+ messages in thread
From: Kevin Hilman @ 2011-01-07 23:02 UTC (permalink / raw)
To: Sumit Semwal; +Cc: tomi.valkeinen, paul, hvaibhav, linux-omap
Sumit Semwal <sumit.semwal@ti.com> writes:
> This patch series enables support for OMAP4 DSS, and adds hwmod support
> for dss, dispc, dsi1, dsi2, hdmi, rfbi and venc hwmods.
This series is confusing as the 3 patches here do not do all the things
described here.
It also doesn't apply to the master branch (e.g. PATCH 3/3 modifies
display.c, which doesn't exist until your other series.)
Please take care when writing these cover letters to be sure they are
accurate, otherwise reviewers/maintainers can't help but be confused
about what is going on.
Kevin
> In OMAP4 there are severals IPs that can be reached by differents
> interconnect paths depending of the access initiator (MPU vs. SDMA).
>
> In the case of the DSS, both L3 direct path and L4 CFG path can be
> used to access all the DSS IPs.
> dss is also considered as an IP as dispc, rfbi, and named as dss_dss.
>
> TODO:
> This patch doesn't handle the opt clocks via hwmod - there will be a separate
> patch series which will take opt clock roles from hwmod, populate them in
> the device structure, so that the driver can ask for relevant opt-clocks.
>
> Also TBD is the migration to pm_runtime APIs, which need to be adapted a little
> for handling DSS-family of clocks completely.
>
> Patch Base:
> ===========
> url = git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git
> branch "master"
> Commit id: fa3b4e23ec20cfc944db7cc2b30b0d82c20e4472
> Description: cbus: Fix retu_rtc_do_reset
> +
> hwmod patches under discussion: http://www.mail-archive.com/linux-omap@vger.kernel.org/msg41534.html
> +
> patch series: OMAP2PLUS: DSS: Generalize clock names
> --------------------------------------------------------
>
> Benoit Cousson (1):
> OMAP4: hwmod data: add DSS DISPC DSI1,2 RFBI HDMI VENC
>
> Mayuresh Janorkar (1):
> OMAP2PLUS: DSS2: Add OMAP4 support
>
> Sumit Semwal (1):
> OMAP4: DSS2: Add hwmod device names for OMAP4.
>
> arch/arm/mach-omap2/display.c | 23 +-
> arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 588 ++++++++++++++++++++++++++++
> drivers/video/omap2/dss/Kconfig | 6 +-
> drivers/video/omap2/omapfb/Kconfig | 6 +-
> 4 files changed, 609 insertions(+), 14 deletions(-)
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 0/3] OMAP4: DSS OMAP4 hwmod support
2011-01-07 23:02 ` [PATCH 0/3] OMAP4: DSS OMAP4 hwmod support Kevin Hilman
@ 2011-01-09 8:49 ` Semwal, Sumit
2011-01-11 1:36 ` Kevin Hilman
0 siblings, 1 reply; 8+ messages in thread
From: Semwal, Sumit @ 2011-01-09 8:49 UTC (permalink / raw)
To: Kevin Hilman; +Cc: tomi.valkeinen, paul, hvaibhav, linux-omap
Hi Kevin,
On Sat, Jan 8, 2011 at 4:32 AM, Kevin Hilman <khilman@ti.com> wrote:
> Sumit Semwal <sumit.semwal@ti.com> writes:
>
>> This patch series enables support for OMAP4 DSS, and adds hwmod support
>> for dss, dispc, dsi1, dsi2, hdmi, rfbi and venc hwmods.
>
> This series is confusing as the 3 patches here do not do all the things
> described here.
>
> It also doesn't apply to the master branch (e.g. PATCH 3/3 modifies
> display.c, which doesn't exist until your other series.)
First up, apologies for submitting these patches while the dependent
patch series is still under discussion - I guess I should've waited
till the hwmod patch series is accepted, but I thought mentioning the
dependency might be sufficient. will take care in future.
Though I don't quite understand why you think that the 3 patches don't
do all that is described.
The first patch enables building DSS for OMAP4 by updating the Kconfig
accordingly.
The second patch enables hwmod support for all the dss IP hwmod
devices, and the third one enhances the hwmod lookup to lookup OMAP4
devices as well.
If you could tell me what is missing or extra, I would correct that
and send an updated version.
Thanks, and best regards,
~Sumit.
>
> Please take care when writing these cover letters to be sure they are
> accurate, otherwise reviewers/maintainers can't help but be confused
> about what is going on.
>
> Kevin
>
>
>> In OMAP4 there are severals IPs that can be reached by differents
>> interconnect paths depending of the access initiator (MPU vs. SDMA).
>>
>> In the case of the DSS, both L3 direct path and L4 CFG path can be
>> used to access all the DSS IPs.
>> dss is also considered as an IP as dispc, rfbi, and named as dss_dss.
>>
>> TODO:
>> This patch doesn't handle the opt clocks via hwmod - there will be a separate
>> patch series which will take opt clock roles from hwmod, populate them in
>> the device structure, so that the driver can ask for relevant opt-clocks.
>>
>> Also TBD is the migration to pm_runtime APIs, which need to be adapted a little
>> for handling DSS-family of clocks completely.
>>
>> Patch Base:
>> ===========
>> url = git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git
>> branch "master"
>> Commit id: fa3b4e23ec20cfc944db7cc2b30b0d82c20e4472
>> Description: cbus: Fix retu_rtc_do_reset
>> +
>> hwmod patches under discussion: http://www.mail-archive.com/linux-omap@vger.kernel.org/msg41534.html
>> +
>> patch series: OMAP2PLUS: DSS: Generalize clock names
>> --------------------------------------------------------
>>
>> Benoit Cousson (1):
>> OMAP4: hwmod data: add DSS DISPC DSI1,2 RFBI HDMI VENC
>>
>> Mayuresh Janorkar (1):
>> OMAP2PLUS: DSS2: Add OMAP4 support
>>
>> Sumit Semwal (1):
>> OMAP4: DSS2: Add hwmod device names for OMAP4.
>>
>> arch/arm/mach-omap2/display.c | 23 +-
>> arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 588 ++++++++++++++++++++++++++++
>> drivers/video/omap2/dss/Kconfig | 6 +-
>> drivers/video/omap2/omapfb/Kconfig | 6 +-
>> 4 files changed, 609 insertions(+), 14 deletions(-)
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 0/3] OMAP4: DSS OMAP4 hwmod support
2011-01-09 8:49 ` Semwal, Sumit
@ 2011-01-11 1:36 ` Kevin Hilman
2011-01-11 4:59 ` Semwal, Sumit
0 siblings, 1 reply; 8+ messages in thread
From: Kevin Hilman @ 2011-01-11 1:36 UTC (permalink / raw)
To: Semwal, Sumit; +Cc: tomi.valkeinen, paul, hvaibhav, linux-omap
Hi Sumit,
"Semwal, Sumit" <sumit.semwal@ti.com> writes:
> On Sat, Jan 8, 2011 at 4:32 AM, Kevin Hilman <khilman@ti.com> wrote:
>> Sumit Semwal <sumit.semwal@ti.com> writes:
>>
>>> This patch series enables support for OMAP4 DSS, and adds hwmod support
>>> for dss, dispc, dsi1, dsi2, hdmi, rfbi and venc hwmods.
>>
>> This series is confusing as the 3 patches here do not do all the things
>> described here.
>>
>> It also doesn't apply to the master branch (e.g. PATCH 3/3 modifies
>> display.c, which doesn't exist until your other series.)
>
> First up, apologies for submitting these patches while the dependent
> patch series is still under discussion - I guess I should've waited
> till the hwmod patch series is accepted, but I thought mentioning the
> dependency might be sufficient. will take care in future.
No, stating the dependency in the changelog/cover letter is sufficient.
This is my fault for not fully parsing your description of the
dependencies and trying to apply directly to linux-omap. My apologies.
Sorry for the noise,
Kevin
> Though I don't quite understand why you think that the 3 patches don't
> do all that is described.
>
> The first patch enables building DSS for OMAP4 by updating the Kconfig
> accordingly.
> The second patch enables hwmod support for all the dss IP hwmod
> devices, and the third one enhances the hwmod lookup to lookup OMAP4
> devices as well.
>
> If you could tell me what is missing or extra, I would correct that
> and send an updated version.
>
> Thanks, and best regards,
> ~Sumit.
>>
>> Please take care when writing these cover letters to be sure they are
>> accurate, otherwise reviewers/maintainers can't help but be confused
>> about what is going on.
>>
>> Kevin
>>
>>
>>> In OMAP4 there are severals IPs that can be reached by differents
>>> interconnect paths depending of the access initiator (MPU vs. SDMA).
>>>
>>> In the case of the DSS, both L3 direct path and L4 CFG path can be
>>> used to access all the DSS IPs.
>>> dss is also considered as an IP as dispc, rfbi, and named as dss_dss.
>>>
>>> TODO:
>>> This patch doesn't handle the opt clocks via hwmod - there will be a separate
>>> patch series which will take opt clock roles from hwmod, populate them in
>>> the device structure, so that the driver can ask for relevant opt-clocks.
>>>
>>> Also TBD is the migration to pm_runtime APIs, which need to be adapted a little
>>> for handling DSS-family of clocks completely.
>>>
>>> Patch Base:
>>> ===========
>>> url = git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git
>>> branch "master"
>>> Commit id: fa3b4e23ec20cfc944db7cc2b30b0d82c20e4472
>>> Description: cbus: Fix retu_rtc_do_reset
>>> +
>>> hwmod patches under discussion: http://www.mail-archive.com/linux-omap@vger.kernel.org/msg41534.html
>>> +
>>> patch series: OMAP2PLUS: DSS: Generalize clock names
>>> --------------------------------------------------------
>>>
>>> Benoit Cousson (1):
>>> OMAP4: hwmod data: add DSS DISPC DSI1,2 RFBI HDMI VENC
>>>
>>> Mayuresh Janorkar (1):
>>> OMAP2PLUS: DSS2: Add OMAP4 support
>>>
>>> Sumit Semwal (1):
>>> OMAP4: DSS2: Add hwmod device names for OMAP4.
>>>
>>> arch/arm/mach-omap2/display.c | 23 +-
>>> arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 588 ++++++++++++++++++++++++++++
>>> drivers/video/omap2/dss/Kconfig | 6 +-
>>> drivers/video/omap2/omapfb/Kconfig | 6 +-
>>> 4 files changed, 609 insertions(+), 14 deletions(-)
>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 0/3] OMAP4: DSS OMAP4 hwmod support
2011-01-11 1:36 ` Kevin Hilman
@ 2011-01-11 4:59 ` Semwal, Sumit
0 siblings, 0 replies; 8+ messages in thread
From: Semwal, Sumit @ 2011-01-11 4:59 UTC (permalink / raw)
To: Kevin Hilman; +Cc: tomi.valkeinen, paul, hvaibhav, linux-omap
Hi Kevin,
On Tue, Jan 11, 2011 at 7:06 AM, Kevin Hilman <khilman@ti.com> wrote:
> Hi Sumit,
>
> "Semwal, Sumit" <sumit.semwal@ti.com> writes:
>
>> On Sat, Jan 8, 2011 at 4:32 AM, Kevin Hilman <khilman@ti.com> wrote:
>>> Sumit Semwal <sumit.semwal@ti.com> writes:
>>>
>>>> This patch series enables support for OMAP4 DSS, and adds hwmod support
>>>> for dss, dispc, dsi1, dsi2, hdmi, rfbi and venc hwmods.
>>>
>>> This series is confusing as the 3 patches here do not do all the things
>>> described here.
>>>
>>> It also doesn't apply to the master branch (e.g. PATCH 3/3 modifies
>>> display.c, which doesn't exist until your other series.)
>>
>> First up, apologies for submitting these patches while the dependent
>> patch series is still under discussion - I guess I should've waited
>> till the hwmod patch series is accepted, but I thought mentioning the
>> dependency might be sufficient. will take care in future.
>
> No, stating the dependency in the changelog/cover letter is sufficient.
>
> This is my fault for not fully parsing your description of the
> dependencies and trying to apply directly to linux-omap. My apologies.
>
> Sorry for the noise,
Thanks, and no worries! :)
~Sumit.
>
> Kevin
>
>> Though I don't quite understand why you think that the 3 patches don't
>> do all that is described.
>>
>> The first patch enables building DSS for OMAP4 by updating the Kconfig
>> accordingly.
>> The second patch enables hwmod support for all the dss IP hwmod
>> devices, and the third one enhances the hwmod lookup to lookup OMAP4
>> devices as well.
>>
>> If you could tell me what is missing or extra, I would correct that
>> and send an updated version.
>>
>> Thanks, and best regards,
>> ~Sumit.
>>>
>>> Please take care when writing these cover letters to be sure they are
>>> accurate, otherwise reviewers/maintainers can't help but be confused
>>> about what is going on.
>>>
>>> Kevin
>>>
>>>
>>>> In OMAP4 there are severals IPs that can be reached by differents
>>>> interconnect paths depending of the access initiator (MPU vs. SDMA).
>>>>
>>>> In the case of the DSS, both L3 direct path and L4 CFG path can be
>>>> used to access all the DSS IPs.
>>>> dss is also considered as an IP as dispc, rfbi, and named as dss_dss.
>>>>
>>>> TODO:
>>>> This patch doesn't handle the opt clocks via hwmod - there will be a separate
>>>> patch series which will take opt clock roles from hwmod, populate them in
>>>> the device structure, so that the driver can ask for relevant opt-clocks.
>>>>
>>>> Also TBD is the migration to pm_runtime APIs, which need to be adapted a little
>>>> for handling DSS-family of clocks completely.
>>>>
>>>> Patch Base:
>>>> ===========
>>>> url = git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git
>>>> branch "master"
>>>> Commit id: fa3b4e23ec20cfc944db7cc2b30b0d82c20e4472
>>>> Description: cbus: Fix retu_rtc_do_reset
>>>> +
>>>> hwmod patches under discussion: http://www.mail-archive.com/linux-omap@vger.kernel.org/msg41534.html
>>>> +
>>>> patch series: OMAP2PLUS: DSS: Generalize clock names
>>>> --------------------------------------------------------
>>>>
>>>> Benoit Cousson (1):
>>>> OMAP4: hwmod data: add DSS DISPC DSI1,2 RFBI HDMI VENC
>>>>
>>>> Mayuresh Janorkar (1):
>>>> OMAP2PLUS: DSS2: Add OMAP4 support
>>>>
>>>> Sumit Semwal (1):
>>>> OMAP4: DSS2: Add hwmod device names for OMAP4.
>>>>
>>>> arch/arm/mach-omap2/display.c | 23 +-
>>>> arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 588 ++++++++++++++++++++++++++++
>>>> drivers/video/omap2/dss/Kconfig | 6 +-
>>>> drivers/video/omap2/omapfb/Kconfig | 6 +-
>>>> 4 files changed, 609 insertions(+), 14 deletions(-)
>>>>
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
>>>> the body of a message to majordomo@vger.kernel.org
>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-01-11 4:59 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-05 17:44 [PATCH 0/3] OMAP4: DSS OMAP4 hwmod support Sumit Semwal
2011-01-05 17:44 ` [PATCH 1/3] OMAP2PLUS: DSS2: Add OMAP4 support Sumit Semwal
2011-01-05 17:44 ` [PATCH 2/3] OMAP4: hwmod data: add DSS DISPC DSI1,2 RFBI HDMI VENC Sumit Semwal
2011-01-05 17:44 ` [PATCH 3/3] OMAP4: DSS2: Add hwmod device names for OMAP4 Sumit Semwal
2011-01-07 23:02 ` [PATCH 0/3] OMAP4: DSS OMAP4 hwmod support Kevin Hilman
2011-01-09 8:49 ` Semwal, Sumit
2011-01-11 1:36 ` Kevin Hilman
2011-01-11 4:59 ` Semwal, Sumit
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox