diff options
Diffstat (limited to 'target/linux/omap/patches-3.12/203-ARM-OMAP2-hwmod-Cleanup-usag~RESET-and-HWMOD_INIT_NO_IDLE.patch')
-rw-r--r-- | target/linux/omap/patches-3.12/203-ARM-OMAP2-hwmod-Cleanup-usag~RESET-and-HWMOD_INIT_NO_IDLE.patch | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/target/linux/omap/patches-3.12/203-ARM-OMAP2-hwmod-Cleanup-usag~RESET-and-HWMOD_INIT_NO_IDLE.patch b/target/linux/omap/patches-3.12/203-ARM-OMAP2-hwmod-Cleanup-usag~RESET-and-HWMOD_INIT_NO_IDLE.patch new file mode 100644 index 0000000..c014311 --- /dev/null +++ b/target/linux/omap/patches-3.12/203-ARM-OMAP2-hwmod-Cleanup-usag~RESET-and-HWMOD_INIT_NO_IDLE.patch @@ -0,0 +1,92 @@ +With DT bindings to specify which devices should not be idled and reset +at init being in place, and the corresponding dtsi files for am33xx/omap4 +and omap5 updated using those bindings, we can now clean up hwmod internal +flags for HWMOD_INIT_NO_RESET and HWMOD_INIT_NO_IDLE which were infact used +to specify the exact same information. + +For GPMC, the HWMOD_INIT_NO_RESET flag seems to be added in hwmod not due to +any errata around the GPMC IP, but rather because any timings +set by the bootloader are not being correctly programmed by the kernel. +This seems like something that needs to be fixed as part of GPMC driver +in the kernel, and hence the flag is left as is in hwmod, which can be +removed once the driver does what its expected to. + +Signed-off-by: Rajendra Nayak <rnayak@ti.com> + +--- +arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 4 ++-- + arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 4 +--- + arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 2 -- + 3 files changed, 3 insertions(+), 7 deletions(-) + +diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c +index 2815a91..e8dc72d 100644 +--- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c ++++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c +@@ -198,7 +198,7 @@ static struct omap_hwmod am33xx_wkup_m3_hwmod = { + .class = &am33xx_wkup_m3_hwmod_class, + .clkdm_name = "l4_wkup_aon_clkdm", + /* Keep hardreset asserted */ +- .flags = HWMOD_INIT_NO_RESET | HWMOD_NO_IDLEST, ++ .flags = HWMOD_NO_IDLEST, + .main_clk = "dpll_core_m4_div2_ck", + .prcm = { + .omap4 = { +@@ -932,7 +932,7 @@ static struct omap_hwmod am33xx_gpmc_hwmod = { + .name = "gpmc", + .class = &am33xx_gpmc_hwmod_class, + .clkdm_name = "l3s_clkdm", +- .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET), ++ .flags = HWMOD_INIT_NO_RESET, + .main_clk = "l3s_gclk", + .prcm = { + .omap4 = { +diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c +index 1e5b12c..a507a70 100644 +--- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c ++++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c +@@ -914,7 +914,6 @@ static struct omap_hwmod omap44xx_emif1_hwmod = { + .name = "emif1", + .class = &omap44xx_emif_hwmod_class, + .clkdm_name = "l3_emif_clkdm", +- .flags = HWMOD_INIT_NO_IDLE, + .main_clk = "ddrphy_ck", + .prcm = { + .omap4 = { +@@ -930,7 +929,6 @@ static struct omap_hwmod omap44xx_emif2_hwmod = { + .name = "emif2", + .class = &omap44xx_emif_hwmod_class, + .clkdm_name = "l3_emif_clkdm", +- .flags = HWMOD_INIT_NO_IDLE, + .main_clk = "ddrphy_ck", + .prcm = { + .omap4 = { +@@ -1184,7 +1182,7 @@ static struct omap_hwmod omap44xx_gpmc_hwmod = { + * the kernel from the board file or DT data. + * HWMOD_INIT_NO_RESET should be removed ASAP. + */ +- .flags = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET, ++ .flags = HWMOD_INIT_NO_RESET, + .prcm = { + .omap4 = { + .clkctrl_offs = OMAP4_CM_L3_2_GPMC_CLKCTRL_OFFSET, +diff --git a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c +index e3caee1..e47f24d 100644 +--- a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c ++++ b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c +@@ -352,7 +352,6 @@ static struct omap_hwmod omap54xx_emif1_hwmod = { + .name = "emif1", + .class = &omap54xx_emif_hwmod_class, + .clkdm_name = "emif_clkdm", +- .flags = HWMOD_INIT_NO_IDLE, + .main_clk = "dpll_core_h11x2_ck", + .prcm = { + .omap4 = { +@@ -368,7 +367,6 @@ static struct omap_hwmod omap54xx_emif2_hwmod = { + .name = "emif2", + .class = &omap54xx_emif_hwmod_class, + .clkdm_name = "emif_clkdm", +- .flags = HWMOD_INIT_NO_IDLE, + .main_clk = "dpll_core_h11x2_ck", + .prcm = { + .omap4 = { |