diff options
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r-- | arch/arm/mach-omap2/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/Makefile | 8 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-omap3beagle.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-rx51-peripherals.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-omap2/gpmc.c | 38 | ||||
-rw-r--r-- | arch/arm/mach-omap2/id.c | 13 | ||||
-rw-r--r-- | arch/arm/mach-omap2/mux34xx.h | 6 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_device.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/soc.h | 2 |
9 files changed, 37 insertions, 44 deletions
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index 857b1f097fd8..f49cd51e162a 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
@@ -37,8 +37,6 @@ config ARCH_OMAP2PLUS_TYPICAL | |||
37 | select NEON if ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5 | 37 | select NEON if ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5 |
38 | select PM_RUNTIME | 38 | select PM_RUNTIME |
39 | select REGULATOR | 39 | select REGULATOR |
40 | select SERIAL_OMAP | ||
41 | select SERIAL_OMAP_CONSOLE | ||
42 | select TWL4030_CORE if ARCH_OMAP3 || ARCH_OMAP4 | 40 | select TWL4030_CORE if ARCH_OMAP3 || ARCH_OMAP4 |
43 | select TWL4030_POWER if ARCH_OMAP3 || ARCH_OMAP4 | 41 | select TWL4030_POWER if ARCH_OMAP3 || ARCH_OMAP4 |
44 | select VFP | 42 | select VFP |
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index 62bb352c2d37..55a9d6777683 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile | |||
@@ -32,12 +32,12 @@ obj-$(CONFIG_SOC_HAS_OMAP2_SDRC) += sdrc.o | |||
32 | 32 | ||
33 | # SMP support ONLY available for OMAP4 | 33 | # SMP support ONLY available for OMAP4 |
34 | 34 | ||
35 | obj-$(CONFIG_SMP) += omap-smp.o omap-headsmp.o | 35 | smp-$(CONFIG_SMP) += omap-smp.o omap-headsmp.o |
36 | obj-$(CONFIG_HOTPLUG_CPU) += omap-hotplug.o | 36 | smp-$(CONFIG_HOTPLUG_CPU) += omap-hotplug.o |
37 | omap-4-5-common = omap4-common.o omap-wakeupgen.o \ | 37 | omap-4-5-common = omap4-common.o omap-wakeupgen.o \ |
38 | sleep44xx.o | 38 | sleep44xx.o |
39 | obj-$(CONFIG_ARCH_OMAP4) += $(omap-4-5-common) | 39 | obj-$(CONFIG_ARCH_OMAP4) += $(omap-4-5-common) $(smp-y) |
40 | obj-$(CONFIG_SOC_OMAP5) += $(omap-4-5-common) | 40 | obj-$(CONFIG_SOC_OMAP5) += $(omap-4-5-common) $(smp-y) |
41 | 41 | ||
42 | plus_sec := $(call as-instr,.arch_extension sec,+sec) | 42 | plus_sec := $(call as-instr,.arch_extension sec,+sec) |
43 | AFLAGS_omap-headsmp.o :=-Wa,-march=armv7-a$(plus_sec) | 43 | AFLAGS_omap-headsmp.o :=-Wa,-march=armv7-a$(plus_sec) |
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 6de78605c0af..04c116555412 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c | |||
@@ -112,13 +112,13 @@ static u8 omap3_beagle_version; | |||
112 | */ | 112 | */ |
113 | static struct { | 113 | static struct { |
114 | int mmc1_gpio_wp; | 114 | int mmc1_gpio_wp; |
115 | int usb_pwr_level; | 115 | bool usb_pwr_level; /* 0 - Active Low, 1 - Active High */ |
116 | int dvi_pd_gpio; | 116 | int dvi_pd_gpio; |
117 | int usr_button_gpio; | 117 | int usr_button_gpio; |
118 | int mmc_caps; | 118 | int mmc_caps; |
119 | } beagle_config = { | 119 | } beagle_config = { |
120 | .mmc1_gpio_wp = -EINVAL, | 120 | .mmc1_gpio_wp = -EINVAL, |
121 | .usb_pwr_level = GPIOF_OUT_INIT_LOW, | 121 | .usb_pwr_level = 0, |
122 | .dvi_pd_gpio = -EINVAL, | 122 | .dvi_pd_gpio = -EINVAL, |
123 | .usr_button_gpio = 4, | 123 | .usr_button_gpio = 4, |
124 | .mmc_caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA, | 124 | .mmc_caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA, |
@@ -178,7 +178,7 @@ static void __init omap3_beagle_init_rev(void) | |||
178 | case 0: | 178 | case 0: |
179 | printk(KERN_INFO "OMAP3 Beagle Rev: xM Ax/Bx\n"); | 179 | printk(KERN_INFO "OMAP3 Beagle Rev: xM Ax/Bx\n"); |
180 | omap3_beagle_version = OMAP3BEAGLE_BOARD_XM; | 180 | omap3_beagle_version = OMAP3BEAGLE_BOARD_XM; |
181 | beagle_config.usb_pwr_level = GPIOF_OUT_INIT_HIGH; | 181 | beagle_config.usb_pwr_level = 1; |
182 | beagle_config.mmc_caps &= ~MMC_CAP_8_BIT_DATA; | 182 | beagle_config.mmc_caps &= ~MMC_CAP_8_BIT_DATA; |
183 | break; | 183 | break; |
184 | case 2: | 184 | case 2: |
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index 1a884670a6c4..18ca61e300b3 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c | |||
@@ -73,11 +73,11 @@ | |||
73 | #define LIS302_IRQ1_GPIO 181 | 73 | #define LIS302_IRQ1_GPIO 181 |
74 | #define LIS302_IRQ2_GPIO 180 /* Not yet in use */ | 74 | #define LIS302_IRQ2_GPIO 180 /* Not yet in use */ |
75 | 75 | ||
76 | /* list all spi devices here */ | 76 | /* List all SPI devices here. Note that the list/probe order seems to matter! */ |
77 | enum { | 77 | enum { |
78 | RX51_SPI_WL1251, | 78 | RX51_SPI_WL1251, |
79 | RX51_SPI_MIPID, /* LCD panel */ | ||
80 | RX51_SPI_TSC2005, /* Touch Controller */ | 79 | RX51_SPI_TSC2005, /* Touch Controller */ |
80 | RX51_SPI_MIPID, /* LCD panel */ | ||
81 | }; | 81 | }; |
82 | 82 | ||
83 | static struct wl12xx_platform_data wl1251_pdata; | 83 | static struct wl12xx_platform_data wl1251_pdata; |
diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c index ed946df5ad8a..6c4da1254f53 100644 --- a/arch/arm/mach-omap2/gpmc.c +++ b/arch/arm/mach-omap2/gpmc.c | |||
@@ -1520,36 +1520,22 @@ static int gpmc_probe_dt(struct platform_device *pdev) | |||
1520 | return ret; | 1520 | return ret; |
1521 | } | 1521 | } |
1522 | 1522 | ||
1523 | for_each_node_by_name(child, "nand") { | 1523 | for_each_child_of_node(pdev->dev.of_node, child) { |
1524 | ret = gpmc_probe_nand_child(pdev, child); | ||
1525 | if (ret < 0) { | ||
1526 | of_node_put(child); | ||
1527 | return ret; | ||
1528 | } | ||
1529 | } | ||
1530 | 1524 | ||
1531 | for_each_node_by_name(child, "onenand") { | 1525 | if (!child->name) |
1532 | ret = gpmc_probe_onenand_child(pdev, child); | 1526 | continue; |
1533 | if (ret < 0) { | ||
1534 | of_node_put(child); | ||
1535 | return ret; | ||
1536 | } | ||
1537 | } | ||
1538 | 1527 | ||
1539 | for_each_node_by_name(child, "nor") { | 1528 | if (of_node_cmp(child->name, "nand") == 0) |
1540 | ret = gpmc_probe_generic_child(pdev, child); | 1529 | ret = gpmc_probe_nand_child(pdev, child); |
1541 | if (ret < 0) { | 1530 | else if (of_node_cmp(child->name, "onenand") == 0) |
1542 | of_node_put(child); | 1531 | ret = gpmc_probe_onenand_child(pdev, child); |
1543 | return ret; | 1532 | else if (of_node_cmp(child->name, "ethernet") == 0 || |
1544 | } | 1533 | of_node_cmp(child->name, "nor") == 0) |
1545 | } | 1534 | ret = gpmc_probe_generic_child(pdev, child); |
1546 | 1535 | ||
1547 | for_each_node_by_name(child, "ethernet") { | 1536 | if (WARN(ret < 0, "%s: probing gpmc child %s failed\n", |
1548 | ret = gpmc_probe_generic_child(pdev, child); | 1537 | __func__, child->full_name)) |
1549 | if (ret < 0) { | ||
1550 | of_node_put(child); | 1538 | of_node_put(child); |
1551 | return ret; | ||
1552 | } | ||
1553 | } | 1539 | } |
1554 | 1540 | ||
1555 | return 0; | 1541 | return 0; |
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c index 0f4c18e6e60c..1272c41d4749 100644 --- a/arch/arm/mach-omap2/id.c +++ b/arch/arm/mach-omap2/id.c | |||
@@ -419,11 +419,15 @@ void __init omap3xxx_check_revision(void) | |||
419 | cpu_rev = "1.0"; | 419 | cpu_rev = "1.0"; |
420 | break; | 420 | break; |
421 | case 1: | 421 | case 1: |
422 | /* FALLTHROUGH */ | ||
423 | default: | ||
424 | omap_revision = AM335X_REV_ES2_0; | 422 | omap_revision = AM335X_REV_ES2_0; |
425 | cpu_rev = "2.0"; | 423 | cpu_rev = "2.0"; |
426 | break; | 424 | break; |
425 | case 2: | ||
426 | /* FALLTHROUGH */ | ||
427 | default: | ||
428 | omap_revision = AM335X_REV_ES2_1; | ||
429 | cpu_rev = "2.1"; | ||
430 | break; | ||
427 | } | 431 | } |
428 | break; | 432 | break; |
429 | case 0xb8f2: | 433 | case 0xb8f2: |
@@ -644,13 +648,12 @@ void __init omap_soc_device_init(void) | |||
644 | soc_dev_attr->revision = soc_rev; | 648 | soc_dev_attr->revision = soc_rev; |
645 | 649 | ||
646 | soc_dev = soc_device_register(soc_dev_attr); | 650 | soc_dev = soc_device_register(soc_dev_attr); |
647 | if (IS_ERR_OR_NULL(soc_dev)) { | 651 | if (IS_ERR(soc_dev)) { |
648 | kfree(soc_dev_attr); | 652 | kfree(soc_dev_attr); |
649 | return; | 653 | return; |
650 | } | 654 | } |
651 | 655 | ||
652 | parent = soc_device_to_device(soc_dev); | 656 | parent = soc_device_to_device(soc_dev); |
653 | if (!IS_ERR_OR_NULL(parent)) | 657 | device_create_file(parent, &omap_soc_attr); |
654 | device_create_file(parent, &omap_soc_attr); | ||
655 | } | 658 | } |
656 | #endif /* CONFIG_SOC_BUS */ | 659 | #endif /* CONFIG_SOC_BUS */ |
diff --git a/arch/arm/mach-omap2/mux34xx.h b/arch/arm/mach-omap2/mux34xx.h index 6543ebf8ecfc..3f26d297c082 100644 --- a/arch/arm/mach-omap2/mux34xx.h +++ b/arch/arm/mach-omap2/mux34xx.h | |||
@@ -393,6 +393,10 @@ | |||
393 | #define OMAP3_CONTROL_PADCONF_SAD2D_SWAKEUP_OFFSET 0xa1c | 393 | #define OMAP3_CONTROL_PADCONF_SAD2D_SWAKEUP_OFFSET 0xa1c |
394 | #define OMAP3_CONTROL_PADCONF_JTAG_RTCK_OFFSET 0xa1e | 394 | #define OMAP3_CONTROL_PADCONF_JTAG_RTCK_OFFSET 0xa1e |
395 | #define OMAP3_CONTROL_PADCONF_JTAG_TDO_OFFSET 0xa20 | 395 | #define OMAP3_CONTROL_PADCONF_JTAG_TDO_OFFSET 0xa20 |
396 | #define OMAP3_CONTROL_PADCONF_GPIO_127 0xa24 | ||
397 | #define OMAP3_CONTROL_PADCONF_GPIO_126 0xa26 | ||
398 | #define OMAP3_CONTROL_PADCONF_GPIO_128 0xa28 | ||
399 | #define OMAP3_CONTROL_PADCONF_GPIO_129 0xa2a | ||
396 | 400 | ||
397 | #define OMAP3_CONTROL_PADCONF_MUX_SIZE \ | 401 | #define OMAP3_CONTROL_PADCONF_MUX_SIZE \ |
398 | (OMAP3_CONTROL_PADCONF_JTAG_TDO_OFFSET + 0x2) | 402 | (OMAP3_CONTROL_PADCONF_GPIO_129 + 0x2) |
diff --git a/arch/arm/mach-omap2/omap_device.c b/arch/arm/mach-omap2/omap_device.c index eeea4fa28fbc..e6d230700b2b 100644 --- a/arch/arm/mach-omap2/omap_device.c +++ b/arch/arm/mach-omap2/omap_device.c | |||
@@ -876,4 +876,4 @@ static int __init omap_device_late_init(void) | |||
876 | bus_for_each_dev(&platform_bus_type, NULL, NULL, omap_device_late_idle); | 876 | bus_for_each_dev(&platform_bus_type, NULL, NULL, omap_device_late_idle); |
877 | return 0; | 877 | return 0; |
878 | } | 878 | } |
879 | omap_late_initcall(omap_device_late_init); | 879 | omap_late_initcall_sync(omap_device_late_init); |
diff --git a/arch/arm/mach-omap2/soc.h b/arch/arm/mach-omap2/soc.h index 18fdeeb3a44a..197cc16870d9 100644 --- a/arch/arm/mach-omap2/soc.h +++ b/arch/arm/mach-omap2/soc.h | |||
@@ -396,6 +396,7 @@ IS_OMAP_TYPE(3430, 0x3430) | |||
396 | #define AM335X_CLASS 0x33500033 | 396 | #define AM335X_CLASS 0x33500033 |
397 | #define AM335X_REV_ES1_0 AM335X_CLASS | 397 | #define AM335X_REV_ES1_0 AM335X_CLASS |
398 | #define AM335X_REV_ES2_0 (AM335X_CLASS | (0x1 << 8)) | 398 | #define AM335X_REV_ES2_0 (AM335X_CLASS | (0x1 << 8)) |
399 | #define AM335X_REV_ES2_1 (AM335X_CLASS | (0x2 << 8)) | ||
399 | 400 | ||
400 | #define OMAP443X_CLASS 0x44300044 | 401 | #define OMAP443X_CLASS 0x44300044 |
401 | #define OMAP4430_REV_ES1_0 (OMAP443X_CLASS | (0x10 << 8)) | 402 | #define OMAP4430_REV_ES1_0 (OMAP443X_CLASS | (0x10 << 8)) |
@@ -496,6 +497,7 @@ level(__##fn); | |||
496 | #define omap_subsys_initcall(fn) omap_initcall(subsys_initcall, fn) | 497 | #define omap_subsys_initcall(fn) omap_initcall(subsys_initcall, fn) |
497 | #define omap_device_initcall(fn) omap_initcall(device_initcall, fn) | 498 | #define omap_device_initcall(fn) omap_initcall(device_initcall, fn) |
498 | #define omap_late_initcall(fn) omap_initcall(late_initcall, fn) | 499 | #define omap_late_initcall(fn) omap_initcall(late_initcall, fn) |
500 | #define omap_late_initcall_sync(fn) omap_initcall(late_initcall_sync, fn) | ||
499 | 501 | ||
500 | #endif /* __ASSEMBLY__ */ | 502 | #endif /* __ASSEMBLY__ */ |
501 | 503 | ||