aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r--arch/arm/mach-omap2/Kconfig2
-rw-r--r--arch/arm/mach-omap2/Makefile8
-rw-r--r--arch/arm/mach-omap2/board-omap3beagle.c6
-rw-r--r--arch/arm/mach-omap2/board-rx51-peripherals.c4
-rw-r--r--arch/arm/mach-omap2/gpmc.c38
-rw-r--r--arch/arm/mach-omap2/id.c13
-rw-r--r--arch/arm/mach-omap2/mux34xx.h6
-rw-r--r--arch/arm/mach-omap2/omap_device.c2
-rw-r--r--arch/arm/mach-omap2/soc.h2
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
35obj-$(CONFIG_SMP) += omap-smp.o omap-headsmp.o 35smp-$(CONFIG_SMP) += omap-smp.o omap-headsmp.o
36obj-$(CONFIG_HOTPLUG_CPU) += omap-hotplug.o 36smp-$(CONFIG_HOTPLUG_CPU) += omap-hotplug.o
37omap-4-5-common = omap4-common.o omap-wakeupgen.o \ 37omap-4-5-common = omap4-common.o omap-wakeupgen.o \
38 sleep44xx.o 38 sleep44xx.o
39obj-$(CONFIG_ARCH_OMAP4) += $(omap-4-5-common) 39obj-$(CONFIG_ARCH_OMAP4) += $(omap-4-5-common) $(smp-y)
40obj-$(CONFIG_SOC_OMAP5) += $(omap-4-5-common) 40obj-$(CONFIG_SOC_OMAP5) += $(omap-4-5-common) $(smp-y)
41 41
42plus_sec := $(call as-instr,.arch_extension sec,+sec) 42plus_sec := $(call as-instr,.arch_extension sec,+sec)
43AFLAGS_omap-headsmp.o :=-Wa,-march=armv7-a$(plus_sec) 43AFLAGS_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 */
113static struct { 113static 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! */
77enum { 77enum {
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
83static struct wl12xx_platform_data wl1251_pdata; 83static 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}
879omap_late_initcall(omap_device_late_init); 879omap_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