aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/pdata-quirks.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/pdata-quirks.c')
-rw-r--r--arch/arm/mach-omap2/pdata-quirks.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
index b67f987bd094..c3b73351cb7a 100644
--- a/arch/arm/mach-omap2/pdata-quirks.c
+++ b/arch/arm/mach-omap2/pdata-quirks.c
@@ -24,6 +24,8 @@
24#include "dss-common.h" 24#include "dss-common.h"
25#include "control.h" 25#include "control.h"
26#include "omap_device.h" 26#include "omap_device.h"
27#include "omap-secure.h"
28#include "soc.h"
27 29
28struct pdata_init { 30struct pdata_init {
29 const char *compatible; 31 const char *compatible;
@@ -223,6 +225,22 @@ static void __init am3517_evm_legacy_init(void)
223{ 225{
224 am35xx_emac_reset(); 226 am35xx_emac_reset();
225} 227}
228
229static void __init nokia_n900_legacy_init(void)
230{
231 hsmmc2_internal_input_clk();
232
233 if (omap_type() == OMAP2_DEVICE_TYPE_SEC) {
234 if (IS_ENABLED(CONFIG_ARM_ERRATA_430973)) {
235 pr_info("RX-51: Enabling ARM errata 430973 workaround\n");
236 /* set IBE to 1 */
237 rx51_secure_update_aux_cr(BIT(6), 0);
238 } else {
239 pr_warning("RX-51: Not enabling ARM errata 430973 workaround\n");
240 pr_warning("Thumb binaries may crash randomly without this workaround\n");
241 }
242 }
243}
226#endif /* CONFIG_ARCH_OMAP3 */ 244#endif /* CONFIG_ARCH_OMAP3 */
227 245
228#ifdef CONFIG_ARCH_OMAP4 246#ifdef CONFIG_ARCH_OMAP4
@@ -304,6 +322,7 @@ struct of_dev_auxdata omap_auxdata_lookup[] __initdata = {
304#endif 322#endif
305#ifdef CONFIG_ARCH_OMAP3 323#ifdef CONFIG_ARCH_OMAP3
306 OF_DEV_AUXDATA("ti,omap3-padconf", 0x48002030, "48002030.pinmux", &pcs_pdata), 324 OF_DEV_AUXDATA("ti,omap3-padconf", 0x48002030, "48002030.pinmux", &pcs_pdata),
325 OF_DEV_AUXDATA("ti,omap3-padconf", 0x480025a0, "480025a0.pinmux", &pcs_pdata),
307 OF_DEV_AUXDATA("ti,omap3-padconf", 0x48002a00, "48002a00.pinmux", &pcs_pdata), 326 OF_DEV_AUXDATA("ti,omap3-padconf", 0x48002a00, "48002a00.pinmux", &pcs_pdata),
308 OF_DEV_AUXDATA("ti,omap2-iommu", 0x5d000000, "5d000000.mmu", 327 OF_DEV_AUXDATA("ti,omap2-iommu", 0x5d000000, "5d000000.mmu",
309 &omap3_iommu_pdata), 328 &omap3_iommu_pdata),
@@ -334,7 +353,7 @@ static struct pdata_init pdata_quirks[] __initdata = {
334 { "compulab,omap3-sbc-t3517", omap3_sbc_t3517_legacy_init, }, 353 { "compulab,omap3-sbc-t3517", omap3_sbc_t3517_legacy_init, },
335 { "compulab,omap3-sbc-t3530", omap3_sbc_t3530_legacy_init, }, 354 { "compulab,omap3-sbc-t3530", omap3_sbc_t3530_legacy_init, },
336 { "compulab,omap3-sbc-t3730", omap3_sbc_t3730_legacy_init, }, 355 { "compulab,omap3-sbc-t3730", omap3_sbc_t3730_legacy_init, },
337 { "nokia,omap3-n900", hsmmc2_internal_input_clk, }, 356 { "nokia,omap3-n900", nokia_n900_legacy_init, },
338 { "nokia,omap3-n9", hsmmc2_internal_input_clk, }, 357 { "nokia,omap3-n9", hsmmc2_internal_input_clk, },
339 { "nokia,omap3-n950", hsmmc2_internal_input_clk, }, 358 { "nokia,omap3-n950", hsmmc2_internal_input_clk, },
340 { "isee,omap3-igep0020", omap3_igep0020_legacy_init, }, 359 { "isee,omap3-igep0020", omap3_igep0020_legacy_init, },