arch/arm OMAP IOMMU patches for 3.15
Subsystems (6)
cover arch/arm OMAP IOMMU patches for 3.15
Hi Paul, Benoit,
This is a repost as per Tony's request [3] of all the OMAP IOMMU DT support patches that are under arch/arm. The series just assimilates patches 8 through 13 from the v3 OMAP IOMMU DT adaptation for 3.15 series [1], and all the v2 patches from the OMAP IOMMU DTS nodes [2].
The only change made with respect to the patches above is in the OMAP4 and OMAP5 DTS nodes - I have adjusted the reg sizes from 0xff to 0x100.
Can you please provide your acks on the hwmod patches and DTS patches?
regards
Suman
[1] http://marc.info/?l=linux-omap&m=139362022805667&w=2
[2] http://marc.info/?l=linux-omap&m=139362062805816&w=2
[3] http://marc.info/?l=linux-omap&m=139404802021252&w=2
Florian Vaussard (4):
ARM: OMAP3: remove deprecated CONFIG_OMAP_IOMMU_IVA2
ARM: dts: OMAP3: Update ISP IOMMU node
ARM: dts: OMAP3: Add IVA IOMMU node
ARM: dts: OMAP4: Add IOMMU nodes
Suman Anna (6):
ARM: OMAP3: fix iva mmu programming issues
ARM: OMAP2+: change the ISP device archdata MMU name for DT
ARM: OMAP2+: use pdata quirks for iommu reset lines
ARM: OMAP5: hwmod data: add mmu data for ipu & dsp
ARM: OMAP2+: extend iommu pdata-quirks to OMAP5
ARM: dts: OMAP5: Add IOMMU nodes
arch/arm/boot/dts/omap3.dtsi | 15 ++++-- arch/arm/boot/dts/omap4.dtsi | 15 ++++++ arch/arm/boot/dts/omap5.dtsi | 15 ++++++ arch/arm/mach-omap2/clockdomains3xxx_data.c | 2 +- arch/arm/mach-omap2/devices.c | 3 ++ arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 12 ++--- arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 83 +++++++++++++++++++++++++++++ arch/arm/mach-omap2/pdata-quirks.c | 24 +++++++++ arch/arm/plat-omap/Kconfig | 3 -- 9 files changed, 157 insertions(+), 15 deletions(-)
Signature · 1 line
1.9.0
PATCH 1/10 ARM: OMAP3: remove deprecated CONFIG_OMAP_IOMMU_IVA2
From: Florian Vaussard <[email protected]>
CONFIG_OMAP_IOMMU_IVA2 was defined originally to avoid conflicting usage by tidspbridge and other iommu users. The same can be achieved by marking the DT node disabled, so remove this obsolete flag and the corresponding hwmod data can be enabled.
--- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 8 -------- arch/arm/plat-omap/Kconfig | 3 --- 2 files changed, 11 deletions(-)
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +0 -8
@@ -3029,8 +3029,6 @@ static struct omap_hwmod omap3xxx_mmu_isp_hwmod = { .flags = HWMOD_NO_IDLEST, }; -#ifdef CONFIG_OMAP_IOMMU_IVA2 -/* mmu iva */ static struct omap_mmu_dev_attr mmu_iva_dev_attr = {
@@ -3082,8 +3080,6 @@ static struct omap_hwmod omap3xxx_mmu_iva_hwmod = { .flags = HWMOD_NO_IDLEST, }; -#endif -/* l4_per -> gpio4 */ static struct omap_hwmod_addr_space omap3xxx_gpio4_addrs[] = { {
@@ -3855,9 +3851,7 @@ static struct omap_hwmod_ocp_if *omap34xx_hwmod_ocp_ifs[] __initdata = { &omap3xxx_l4_core__hdq1w, &omap3xxx_sad2d__l3, &omap3xxx_l4_core__mmu_isp, -#ifdef CONFIG_OMAP_IOMMU_IVA2 &omap3xxx_l3_main__mmu_iva, -#endif &omap34xx_l4_core__ssi, NULL };
@@ -3881,9 +3875,7 @@ static struct omap_hwmod_ocp_if *omap36xx_hwmod_ocp_ifs[] __initdata = { &omap3xxx_l4_core__hdq1w, &omap3xxx_sad2d__l3, &omap3xxx_l4_core__mmu_isp, -#ifdef CONFIG_OMAP_IOMMU_IVA2 &omap3xxx_l3_main__mmu_iva, -#endif NULL };
arch/arm/plat-omap/Kconfig +0 -3
@@ -86,9 +86,6 @@ config OMAP_MUX_WARNINGS to change the pin multiplexing setup. When there are no warnings printed, it's safe to deselect OMAP_MUX for your product. -config OMAP_IOMMU_IVA2 - bool - config OMAP_MPU_TIMER bool "Use mpu timer" depends on ARCH_OMAP1
Signature · 1 line
1.9.0
PATCH 2/10 ARM: OMAP3: fix iva mmu programming issues
In reply to Suman AnnaThe IVA MMU is not functional when used through the hwmod and omap_device layers. Add fixes to clockdomain and hwmod data to have it functional. The hwmod changes are needed to enable the clock, and the SWSUP change is needed to wakeup the domain because the power domain is programmed to be in RET, and there is no automatic power domain switching to ON.
--- arch/arm/mach-omap2/clockdomains3xxx_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-)
arch/arm/mach-omap2/clockdomains3xxx_data.c +1 -1
@@ -247,7 +247,7 @@ static struct clockdomain neon_clkdm = {static struct clockdomain iva2_clkdm = { .name ="iva2_clkdm" , .pwrdm = { .name ="iva2_pwrdm" }, - .flags =CLKDM_CAN_HWSUP_SWSUP , + .flags =CLKDM_CAN_SWSUP , .dep_bit =OMAP3430_PM_WKDEP_MPU_EN_IVA2_SHIFT , .wkdep_srcs = iva2_wkdeps, .clktrctrl_mask =OMAP3430_CLKTRCTRL_IVA2_MASK ,
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +4 -0
@@ -3068,12 +3068,16 @@ static struct omap_hwmod omap3xxx_mmu_iva_hwmod = { .name = "mmu_iva", .class = &omap3xxx_mmu_hwmod_class, .mpu_irqs = omap3xxx_mmu_iva_irqs, + .clkdm_name = "iva2_clkdm", .rst_lines = omap3xxx_mmu_iva_resets, .rst_lines_cnt = ARRAY_SIZE(omap3xxx_mmu_iva_resets), .main_clk = "iva2_ck", .prcm = { .omap2 = { .module_offs = OMAP3430_IVA2_MOD, + .module_bit = OMAP3430_CM_FCLKEN_IVA2_EN_IVA2_SHIFT, + .idlest_reg_id = 1, + .idlest_idle_bit =OMAP3430_ST_IVA2_SHIFT , }, }, .dev_attr = &mmu_iva_dev_attr,
Signature · 1 line
1.9.0
Paul Walmsley
maintainerPATCH 2/10 ARM: OMAP3: fix iva mmu programming issues
Quoted 9 lines · Suman Anna
The IVA MMU is not functional when used through the hwmod and
omap_devicelayers. Add fixes to clockdomain and hwmod data to have it functional. The hwmod changes are needed to enable the clock, and the SWSUP change is needed to wakeup the domain because the power domain is programmed to be in RET, and there is no automatic power domain switching to ON.Cc Paul Walmsley <[email protected]>Signed-off-by Suman Anna <[email protected]>
- Paul
PATCH 3/10 ARM: OMAP2+: change the ISP device archdata MMU name for DT
In reply to Suman AnnaThe IOMMU DT adaptation support uses the device name instead of an iommu object name. Fixup the ISP device archdata MMU name at runtime if using DT-boot. This allows the OMAP3 camera to be functional in both legacy and DT boots. The iommu object names should eventually vanish when all the IOMMU users have been converted to DT nodes.
--- arch/arm/mach-omap2/devices.c | 3 +++ 1 file changed, 3 insertions(+)
arch/arm/mach-omap2/devices.c +3 -0
@@ -229,6 +229,9 @@ static struct omap_iommu_arch_data omap3_isp_iommu = {int omap3_init_camera (struct isp_platform_data *pdata) { +if (of_have_populated_dt ()) + omap3_isp_iommu.name ="480bd400.mmu" ; + omap3isp_device.dev.platform_data = pdata; omap3isp_device.dev.archdata.iommu = &omap3_isp_iommu;
Signature · 1 line
1.9.0
PATCH 4/10 ARM: OMAP2+: use pdata quirks for iommu reset lines
In reply to Suman AnnaThe OMAP iommu driver performs the reset management for the iommu instances in processor sub-systems using the omap_device API which are currently supplied as platform data ops. Use pdata quirks to maintain the functionality as the OMAP iommu driver gets converted to use DT nodes, until the reset portions are decoupled from omap_hwmod/omap_device into a separate reset driver.
This patch adds the pdata quirks for the reset management of iommus within the DSP (OMAP3 & OMAP4) and IPU subsystems (OMAP4).
--- arch/arm/mach-omap2/pdata-quirks.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
arch/arm/mach-omap2/pdata-quirks.c +20 -0
@@ -16,12 +16,14 @@#include <linux/wl12xx.h> #include <linux/platform_data/pinctrl-single.h> +#include <linux/platform_data/iommu-omap.h> #include "am35xx.h" #include "common.h" #include "common-board-devices.h" #include "dss-common.h" #include "control.h" +#include "omap_device.h" struct pdata_init {const char *compatible;
@@ -92,6 +94,12 @@ static void __init hsmmc2_internal_input_clk(void)omap_ctrl_writel (reg,OMAP343X_CONTROL_DEVCONF1 ); } +static struct iommu_platform_data omap3_iommu_pdata = { + .reset_name ="mmu" , + .assert_reset = omap_device_assert_hardreset, + .deassert_reset = omap_device_deassert_hardreset, +}; +static int omap3_sbc_t3730_twl_callback (struct device *dev,unsigned gpio,unsigned ngpio)
@@ -185,6 +193,12 @@ static void __init omap4_panda_legacy_init(void)legacy_init_ehci_clk ("auxclk3_ck" ); legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 53); } + +static struct iommu_platform_data omap4_iommu_pdata = { + .reset_name ="mmu_cache" , + .assert_reset = omap_device_assert_hardreset, + .deassert_reset = omap_device_deassert_hardreset, +};#endif #ifdef CONFIG_SOC_OMAP5
@@ -240,6 +254,8 @@ struct of_dev_auxdata omap_auxdata_lookup[] __initdata = {#ifdef CONFIG_ARCH_OMAP3 OF_DEV_AUXDATA ("ti,omap3-padconf" ,0x48002030 ,"48002030.pinmux" , &pcs_pdata),OF_DEV_AUXDATA ("ti,omap3-padconf" ,0x48002a00 ,"48002a00.pinmux" , &pcs_pdata), +OF_DEV_AUXDATA ("ti,omap2-iommu" ,0x5d000000 ,"5d000000.mmu" , + &omap3_iommu_pdata),/* Only on am3517 */ OF_DEV_AUXDATA ("ti,davinci_mdio" ,0x5c030000 ,"davinci_mdio.0" ,NULL ), OF_DEV_AUXDATA("ti,am3517-emac", 0x5c000000, "davinci_emac.0",
@@ -248,6 +264,10 @@ struct of_dev_auxdata omap_auxdata_lookup[] __initdata = {#ifdef CONFIG_ARCH_OMAP4 OF_DEV_AUXDATA ("ti,omap4-padconf" ,0x4a100040 ,"4a100040.pinmux" , &pcs_pdata),OF_DEV_AUXDATA ("ti,omap4-padconf" ,0x4a31e040 ,"4a31e040.pinmux" , &pcs_pdata), +OF_DEV_AUXDATA ("ti,omap4-iommu" ,0x4a066000 ,"4a066000.mmu" , + &omap4_iommu_pdata), +OF_DEV_AUXDATA ("ti,omap4-iommu" ,0x55082000 ,"55082000.mmu" , + &omap4_iommu_pdata), #endif { /* sentinel */ }, };
Signature · 1 line
1.9.0
PATCH 5/10 ARM: OMAP5: hwmod data: add mmu data for ipu & dsp
In reply to Suman AnnaA new MMU hwmod class and data structures are created to represent the MMUs within the IPU and DSP processor subsystems in OMAP5. The MMUs in OMAP5 are identical to those in OMAP4.
--- arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 83 ++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+)
arch/arm/mach-omap2/omap_hwmod_54xx_data.c +83 -0
@@ -1122,6 +1122,71 @@ static struct omap_hwmod omap54xx_mmc5_hwmod = { };/* +* 'mmu' class +* The memory management unit performs virtual to physical address translation +* for its requestors. +*/ + +static struct omap_hwmod_class_sysconfig omap54xx_mmu_sysc = { + .rev_offs =0x0000 , + .sysc_offs =0x0010 , + .syss_offs =0x0014 , + .sysc_flags = (SYSC_HAS_AUTOIDLE |SYSC_HAS_CLOCKACTIVITY | +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 omap54xx_mmu_hwmod_class = { + .name ="mmu" , + .sysc = &omap54xx_mmu_sysc, +}; + +static struct omap_hwmod_rst_info omap54xx_mmu_dsp_resets[] = { + { .name ="mmu_cache" , .rst_shift =1 }, +}; + +static struct omap_hwmod omap54xx_mmu_dsp_hwmod = { + .name ="mmu_dsp" , + .class = &omap54xx_mmu_hwmod_class, + .clkdm_name ="dsp_clkdm" , + .rst_lines = omap54xx_mmu_dsp_resets, + .rst_lines_cnt =ARRAY_SIZE (omap54xx_mmu_dsp_resets), + .main_clk ="dpll_iva_h11x2_ck" , + .prcm = { + .omap4 = { + .clkctrl_offs =OMAP54XX_CM_DSP_DSP_CLKCTRL_OFFSET , + .rstctrl_offs =OMAP54XX_RM_DSP_RSTCTRL_OFFSET , + .context_offs =OMAP54XX_RM_DSP_DSP_CONTEXT_OFFSET , + .modulemode =MODULEMODE_HWCTRL , + }, + }, +}; + +/* mmu ipu */ +static struct omap_hwmod_rst_info omap54xx_mmu_ipu_resets[] = { + { .name ="mmu_cache" , .rst_shift =2 }, +}; + +static struct omap_hwmod omap54xx_mmu_ipu_hwmod = { + .name ="mmu_ipu" , + .class = &omap54xx_mmu_hwmod_class, + .clkdm_name ="ipu_clkdm" , + .rst_lines = omap54xx_mmu_ipu_resets, + .rst_lines_cnt =ARRAY_SIZE (omap54xx_mmu_ipu_resets), + .main_clk ="dpll_core_h22x2_ck" , + .prcm = { + .omap4 = { + .clkctrl_offs =OMAP54XX_CM_IPU_IPU_CLKCTRL_OFFSET , + .rstctrl_offs =OMAP54XX_RM_IPU_RSTCTRL_OFFSET , + .context_offs =OMAP54XX_RM_IPU_IPU_CONTEXT_OFFSET , + .modulemode =MODULEMODE_HWCTRL , + }, + }, +}; + +/* * 'mpu' class * mpu sub-system */
@@ -1763,6 +1828,14 @@ static struct omap_hwmod_ocp_if omap54xx_l4_cfg__l3_main_1 = { .user = OCP_USER_MPU | OCP_USER_SDMA, }; +/* l4_cfg -> mmu_dsp */ +static struct omap_hwmod_ocp_if omap54xx_l4_cfg__mmu_dsp = { + .master = &omap54xx_l4_cfg_hwmod, + .slave = &omap54xx_mmu_dsp_hwmod, + .clk ="l4_root_clk_div" , + .user =OCP_USER_MPU |OCP_USER_SDMA , +}; +/* mpu -> l3_main_1 */ static struct omap_hwmod_ocp_if omap54xx_mpu__l3_main_1 = { .master = &omap54xx_mpu_hwmod,
@@ -1787,6 +1860,14 @@ static struct omap_hwmod_ocp_if omap54xx_l4_cfg__l3_main_2 = { .user = OCP_USER_MPU | OCP_USER_SDMA, }; +/* l3_main_2 -> mmu_ipu */ +static struct omap_hwmod_ocp_if omap54xx_l3_main_2__mmu_ipu = { + .master = &omap54xx_l3_main_2_hwmod, + .slave = &omap54xx_mmu_ipu_hwmod, + .clk ="l3_iclk_div" , + .user =OCP_USER_MPU |OCP_USER_SDMA , +}; +/* l3_main_1 -> l3_main_3 */ static struct omap_hwmod_ocp_if omap54xx_l3_main_1__l3_main_3 = { .master = &omap54xx_l3_main_1_hwmod,
@@ -2345,6 +2426,7 @@ static struct omap_hwmod_ocp_if *omap54xx_hwmod_ocp_ifs[] __initdata = { &omap54xx_l4_wkup__counter_32k, &omap54xx_l4_cfg__dma_system, &omap54xx_l4_abe__dmic, + &omap54xx_l4_cfg__mmu_dsp, &omap54xx_mpu__emif1, &omap54xx_mpu__emif2, &omap54xx_l4_wkup__gpio1,
@@ -2360,6 +2442,7 @@ static struct omap_hwmod_ocp_if *omap54xx_hwmod_ocp_ifs[] __initdata = { &omap54xx_l4_per__i2c3, &omap54xx_l4_per__i2c4, &omap54xx_l4_per__i2c5, + &omap54xx_l3_main_2__mmu_ipu, &omap54xx_l4_wkup__kbd, &omap54xx_l4_cfg__mailbox, &omap54xx_l4_abe__mcbsp1,
Signature · 1 line
1.9.0
Paul Walmsley
maintainerPATCH 5/10 ARM: OMAP5: hwmod data: add mmu data for ipu & dsp
Quoted 8 lines · Suman Anna
A new MMU hwmod class and data structures are created to represent the MMUs within the IPU and DSP processor subsystems in OMAP5. The MMUs in OMAP5 are identical to those in OMAP4.
Cc Paul Walmsley <[email protected]>Cc Benoit Cousson <[email protected]>Signed-off-by Suman Anna <[email protected]>
- Paul
PATCH 6/10 ARM: OMAP2+: extend iommu pdata-quirks to OMAP5
In reply to Suman AnnaOMAP5 has the same iommus as OMAP4, so extend the OMAP4 iommu pdata quirks for OMAP5 as well.
--- arch/arm/mach-omap2/pdata-quirks.c | 4 ++++ 1 file changed, 4 insertions(+)
arch/arm/mach-omap2/pdata-quirks.c +4 -0
@@ -193,7 +193,9 @@ static void __init omap4_panda_legacy_init(void)legacy_init_ehci_clk ("auxclk3_ck" );legacy_init_wl12xx (WL12XX_REFCLOCK_38 ,0 ,53 ); } +#endif +#if defined(CONFIG_ARCH_OMAP4 ) || defined(CONFIG_SOC_OMAP5 )static struct iommu_platform_data omap4_iommu_pdata = { .reset_name ="mmu_cache" , .assert_reset = omap_device_assert_hardreset,
@@ -264,6 +266,8 @@ struct of_dev_auxdata omap_auxdata_lookup[] __initdata = {#ifdef CONFIG_ARCH_OMAP4 OF_DEV_AUXDATA("ti,omap4-padconf", 0x4a100040, "4a100040.pinmux", &pcs_pdata), OF_DEV_AUXDATA("ti,omap4-padconf", 0x4a31e040, "4a31e040.pinmux", &pcs_pdata), +#endif +#if defined(CONFIG_ARCH_OMAP4 ) || defined(CONFIG_SOC_OMAP5 )OF_DEV_AUXDATA ("ti,omap4-iommu" ,0x4a066000 ,"4a066000.mmu" , &omap4_iommu_pdata), OF_DEV_AUXDATA("ti,omap4-iommu", 0x55082000, "55082000.mmu",
Signature · 1 line
1.9.0
PATCH 7/10 ARM: dts: OMAP3: Update ISP IOMMU node
In reply to Suman AnnaFrom: Florian Vaussard <[email protected]>
Update the IOMMU node for the camera subsystem as per the OMAP IOMMU bindings.
--- arch/arm/boot/dts/omap3.dtsi | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
arch/arm/boot/dts/omap3.dtsi +4 -3
@@ -411,10 +411,11 @@ }; mmu_isp: mmu at 480bd400 { - compatible = "ti,omap3-mmu-isp"; - ti,hwmods = "mmu_isp"; + compatible = "ti,omap2-iommu"; reg = <0x480bd400 0x80>; - interrupts = <8>; + interrupts = <24>; + ti,hwmods = "mmu_isp"; + ti,#tlb-entries = <8>; }; wdt2: wdt at 48314000 {
Signature · 1 line
1.9.0
PATCH 8/10 ARM: dts: OMAP3: Add IVA IOMMU node
In reply to Suman AnnaFrom: Florian Vaussard <[email protected]>
Add the DT node for the IOMMU within the DSP subsystem. The entry is disabled to keep in line with the hwmod usage as intended by the deprecated CONFIG_OMAP_IOMMU_IVA2 flag.
--- arch/arm/boot/dts/omap3.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+)
arch/arm/boot/dts/omap3.dtsi +8 -0
@@ -418,6 +418,14 @@ ti,#tlb-entries = <8>; }; + mmu_iva: mmu at 5d000000 { + compatible = "ti,omap2-iommu"; + reg = <0x5d000000 0x80>; + interrupts = <28>; + ti,hwmods = "mmu_iva"; + status = "disabled"; + }; + wdt2: wdt at 48314000 { compatible = "ti,omap3-wdt"; reg = <0x48314000 0x80>;
Signature · 1 line
1.9.0
PATCH 9/10 ARM: dts: OMAP4: Add IOMMU nodes
In reply to Suman AnnaFrom: Florian Vaussard <[email protected]>
Add the IOMMU nodes for the DSP and IPU subsystems. The MMU within the IPU sub-system also supports a bus error back capability, not available on the DSP MMU.
--- arch/arm/boot/dts/omap4.dtsi | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
arch/arm/boot/dts/omap4.dtsi +15 -0
@@ -461,6 +461,21 @@ dma-names = "tx", "rx"; }; + mmu_dsp: mmu at 4a066000 { + compatible = "ti,omap4-iommu"; + reg = <0x4a066000 0x100>; + interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; + ti,hwmods = "mmu_dsp"; + }; + + mmu_ipu: mmu at 55082000 { + compatible = "ti,omap4-iommu"; + reg = <0x55082000 0x100>; + interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; + ti,hwmods = "mmu_ipu"; + ti,iommu-bus-err-back; + }; + wdt2: wdt at 4a314000 { compatible = "ti,omap4-wdt", "ti,omap3-wdt"; reg = <0x4a314000 0x80>;
Signature · 1 line
1.9.0
PATCH 10/10 ARM: dts: OMAP5: Add IOMMU nodes
In reply to Suman AnnaThe IOMMU DT nodes have been added for the DSP and IPU subsystems. The MMUs in OMAP5 are identical to those in OMAP4, including the bus error back capability on IPU.
--- arch/arm/boot/dts/omap5.dtsi | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
arch/arm/boot/dts/omap5.dtsi +15 -0
@@ -513,6 +513,21 @@ dma-names = "tx", "rx"; }; + mmu_dsp: mmu at 4a066000 { + compatible = "ti,omap4-iommu"; + reg = <0x4a066000 0x100>; + interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; + ti,hwmods = "mmu_dsp"; + }; + + mmu_ipu: mmu at 55082000 { + compatible = "ti,omap4-iommu"; + reg = <0x55082000 0x100>; + interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; + ti,hwmods = "mmu_ipu"; + ti,iommu-bus-err-back; + }; + keypad: keypad at 4ae1c000 { compatible = "ti,omap4-keypad"; reg = <0x4ae1c000 0x400>;
Signature · 1 line
1.9.0
cover arch/arm OMAP IOMMU patches for 3.15
In reply to Suman AnnaHi Paul,
Quoted 7 lines · Suman Anna
Hi Paul, Benoit,
This is a repost as per Tony's request [3] of all the OMAP IOMMU DT support patches that are under
arch/arm. The series just assimilates patches 8 through 13 from the v3 OMAP IOMMU DT adaptation for 3.15 series [1], and all the v2 patches from the OMAP IOMMU DTS nodes [2].
Quoted 5 lines
The only change made with respect to the patches above is in the OMAP4 and OMAP5 DTS nodes - I have adjusted the reg sizes from
0xffto0x100.Can you please provide your acks on the hwmod patches and DTS patches?
Ping. Can you review and provide your acks for Patches 2 and 5 (the hwmod patches) for Tony to pick up all the patches in the series?
regards
Suman
Quoted 30 lines
[1] http://marc.info/?l=linux-omap&m=139362022805667&w=2
[2] http://marc.info/?l=linux-omap&m=139362062805816&w=2
[3] http://marc.info/?l=linux-omap&m=139404802021252&w=2Florian Vaussard (4):
ARM: OMAP3: remove deprecatedCONFIG_OMAP_IOMMU_IVA2
ARM: dts: OMAP3: Update ISP IOMMU node
ARM: dts: OMAP3: Add IVA IOMMU node
ARM: dts: OMAP4: Add IOMMU nodesSuman Anna (6):
ARM: OMAP3: fix iva mmu programming issues
ARM: OMAP2+: change the ISP device archdata MMU name for DT
ARM: OMAP2+: use pdata quirks for iommu reset lines
ARM: OMAP5: hwmod data: add mmu data for ipu & dsp
ARM: OMAP2+: extend iommu pdata-quirks to OMAP5
ARM: dts: OMAP5: Add IOMMU nodesarch/arm/boot/dts/omap3.dtsi | 15 ++++-- arch/arm/boot/dts/omap4.dtsi | 15 ++++++ arch/arm/boot/dts/omap5.dtsi | 15 ++++++ arch/arm/mach-omap2/clockdomains3xxx_data.c | 2 +- arch/arm/mach-omap2/devices.c | 3 ++ arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 12 ++--- arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 83 +++++++++++++++++++++++++++++ arch/arm/mach-omap2/pdata-quirks.c | 24 +++++++++ arch/arm/plat-omap/Kconfig | 3 -- 9 files changed, 157 insertions(+), 15 deletions(-)
cover arch/arm OMAP IOMMU patches for 3.15
Quoted 10 lines · Suman Anna
Hi Paul,
Quoted 7 lines · Suman Anna
Hi Paul, Benoit,
This is a repost as per Tony's request [3] of all the OMAP IOMMU DT support patches that are under
arch/arm. The series just assimilates patches 8 through 13 from the v3 OMAP IOMMU DT adaptation for 3.15 series [1], and all the v2 patches from the OMAP IOMMU DTS nodes [2].
Quoted 8 lines
Quoted 5 lines
The only change made with respect to the patches above is in the OMAP4 and OMAP5 DTS nodes - I have adjusted the reg sizes from
0xffto0x100.Can you please provide your acks on the hwmod patches and DTS patches?
Ping. Can you review and provide your acks for Patches 2 and 5 (the hwmod patches) for Tony to pick up all the patches in the series?
Applied all with Paul's acks into omap-for-v3.15/dt. As it's getting so late to the merge window, no guarantees it will actually get pulled.
For the pdata-quirks.c changes, I assume you are working on implementing the reset driver mentioned in the related patch?
Regards,
Tony
cover arch/arm OMAP IOMMU patches for 3.15
Quoted 17 lines · Tony Lindgren
Quoted 16 lines · Suman Anna
Hi Paul,
Quoted 12 lines · Suman Anna
Hi Paul, Benoit,
This is a repost as per Tony's request [3] of all the OMAP IOMMU DT support patches that are under
arch/arm. The series just assimilates patches 8 through 13 from the v3 OMAP IOMMU DT adaptation for 3.15 series [1], and all the v2 patches from the OMAP IOMMU DTS nodes [2].The only change made with respect to the patches above is in the OMAP4 and OMAP5 DTS nodes - I have adjusted the reg sizes from
0xffto0x100.Can you please provide your acks on the hwmod patches and DTS patches?
Quoted 6 lines
Quoted 2 lines
Ping. Can you review and provide your acks for Patches 2 and 5 (the hwmod patches) for Tony to pick up all the patches in the series?
Applied all with Paul's acks into omap-for-v3.15/dt. As it's getting so late to the merge window, no guarantees it will actually get pulled.
Thanks Tony.
Quoted 4 lines
For the
pdata-quirks.cchanges, I assume you are working on implementing the reset driver mentioned in the related patch?
Dan Murphy is currently working on this, and there is still some work to be done before it can be posted to the lists.
regards
Suman
Tony Lindgren
maintainercover arch/arm OMAP IOMMU patches for 3.15
Quoted 8 lines · Suman Anna
Quoted 4 lines · Tony Lindgren
For the
pdata-quirks.cchanges, I assume you are working on implementing the reset driver mentioned in the related patch?Dan Murphy is currently working on this, and there is still some work to be done before it can be posted to the lists.
OK thanks for the update, good to hear.
Tony