Add DSS nodes for AM43x
Subsystems (5)
cover Add DSS nodes for AM43x
DSS support for AM437x is added in this patch series. Patch #1 adds the hwmod entries and
patch #2 adds the DT entry.
Sathya Prakash M R (2):
ARM: OMAP2+: AM43x - Add DSS hwmod
ARM: DTS: AM43x: Add DSS node
arch/arm/boot/dts/am4372.dtsi | 27 +++++++++ arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 85 ++++++++++++++++++++++++++++ arch/arm/mach-omap2/prcm43xx.h | 1 + 3 files changed, 113 insertions(+)
Signature · 1 line
1.7.9.5
PATCH 1/2 ARM: OMAP2+: AM43x - Add DSS hwmod
Add DSS hwmod struct for AM43x SOC.
Signed-off-by Sathya Prakash M R <[email protected]>
---
This is based on below patch series which is yet to be merged
http://permalink.gmane.org/gmane.linux.ports.arm.omap/100892
arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 85 ++++++++++++++++++++++++++++ arch/arm/mach-omap2/prcm43xx.h | 1 + 2 files changed, 86 insertions(+)
arch/arm/mach-omap2/omap_hwmod_33xx_data.c +85 -0
@@ -1937,6 +1937,55 @@ static struct omap_hwmod am43xx_spi4_hwmod = { .dev_attr = &mcspi_attrib, }; +/* Display sub system - DSS */ + +static struct omap_hwmod_dma_info am43xx_dss_sdma_chs[] = { + { .name = "dispc", .dma_req = 5 }, + { .dma_req = -1 } + +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 = &omap3_dispc_hwmod_class, + .clkdm_name ="dss_clkdm" , + .main_clk ="disp_clk" , + .prcm = { + .omap4 = { + .clkctrl_offs =AM43XX_CM_PER_DSS_CLKCTRL_OFFSET , + .modulemode =MODULEMODE_SWCTRL , + }, +}; + +/*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 , + .modulemode =MODULEMODE_SWCTRL , + }, +}; + +/* * Interfaces */
@@ -2874,6 +2923,38 @@ static struct omap_hwmod_ocp_if am43xx_l3_main__pruss = { .user = OCP_USER_MPU, }; +/* DSS -> L3 Main */ +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 , +}; + +/* L4-ls -> DSS */ +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 , +}; + +/* L4_ls -> dss_dispc */ +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 , +}; + +/* L4_ls -> dss_rfbi */ +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 , +}; +#define CLKCTRL (oh, clkctrl) ((oh).prcm.omap4.clkctrl_offs = (clkctrl))static void am43xx_hwmod_clkctrl (void )
@@ -3109,6 +3190,10 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = { &am43xx_l4_ls__mcspi3, &am43xx_l4_ls__mcspi4, &am43xx_l3_main__pruss, + &am43xx_dss__l3_main, + &am43xx_l4_ls__dss, + &am43xx_l4_ls__dss_dispc, + &am43xx_l4_ls__dss_rfbi, NULL, };
arch/arm/mach-omap2/prcm43xx.h +1 -0
@@ -144,5 +144,6 @@#define AM43XX_CM_PER_SPI2_CLKCTRL_OFFSET 0x0510#define AM43XX_CM_PER_SPI3_CLKCTRL_OFFSET 0x0518#define AM43XX_CM_PER_SPI4_CLKCTRL_OFFSET 0x0520 +#define AM43XX_CM_PER_DSS_CLKCTRL_OFFSET 0x0a00#endif
Signature · 1 line
1.7.9.5
PATCH 2/2 ARM: DTS: AM43x: Add DSS node
In reply to Sathya Prakash M RAdd device node for DSS module for AM43x
Signed-off-by Sathya Prakash M R <[email protected]>
--- arch/arm/boot/dts/am4372.dtsi | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
arch/arm/boot/dts/am4372.dtsi +27 -0
@@ -64,5 +64,32 @@ compatible = "ti,am4372-counter32k","ti,omap-counter32k"; reg = <0x44e86000 0x40>; }; + + dss: dss at 4832A000 { + compatible = "ti,omap3-dss", "simple-bus"; + reg = <0x4832A000 0x200>; + ti,hwmods = "dss_core"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + dispc at 4832A400 { + compatible = "ti,omap3-dispc"; + reg = <0x4832A400 0x400>; + interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; + ti,hwmods = "dss_dispc"; + }; + + dpi: dpi { + compatible = "ti,omap3-dpi"; + }; + + rfbi: rfbi at 4832A800 { + compatible = "ti,omap3-rfbi"; + reg = <0x4832A800 0x100>; + ti,hwmods = "dss_rfbi"; + }; + + }; }; };
Signature · 1 line
1.7.9.5