diff options
Diffstat (limited to 'arch/arm/mach-omap2/pdata-quirks.c')
| -rw-r--r-- | arch/arm/mach-omap2/pdata-quirks.c | 21 |
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 | ||
| 28 | struct pdata_init { | 30 | struct 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 | |||
| 229 | static 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, }, |
