|
@@ -693,3 +693,99 @@ static void __init snowball_init_machine(void)
|
|
|
|
|
|
platform_add_devices(snowball_platform_devs,
|
|
platform_add_devices(snowball_platform_devs,
|
|
ARRAY_SIZE(snowball_platform_devs));
|
|
ARRAY_SIZE(snowball_platform_devs));
|
|
|
|
+
|
|
|
|
+ mop500_i2c_init(parent);
|
|
|
|
+ snowball_sdi_init(parent);
|
|
|
|
+ mop500_spi_init(parent);
|
|
|
|
+ mop500_audio_init(parent);
|
|
|
|
+ mop500_uart_init(parent);
|
|
|
|
+
|
|
|
|
+ /* This board has full regulator constraints */
|
|
|
|
+ regulator_has_full_constraints();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static void __init hrefv60_init_machine(void)
|
|
|
|
+{
|
|
|
|
+ struct device *parent = NULL;
|
|
|
|
+ int i2c0_devs;
|
|
|
|
+ int i;
|
|
|
|
+
|
|
|
|
+ /*
|
|
|
|
+ * The HREFv60 board removed a GPIO expander and routed
|
|
|
|
+ * all these GPIO pins to the internal GPIO controller
|
|
|
|
+ * instead.
|
|
|
|
+ */
|
|
|
|
+ mop500_gpio_keys[0].gpio = HREFV60_PROX_SENSE_GPIO;
|
|
|
|
+
|
|
|
|
+ hrefv60_pinmaps_init();
|
|
|
|
+ parent = u8500_init_devices(&ab8500_platdata);
|
|
|
|
+
|
|
|
|
+ for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++)
|
|
|
|
+ mop500_platform_devs[i]->dev.parent = parent;
|
|
|
|
+
|
|
|
|
+ platform_add_devices(mop500_platform_devs,
|
|
|
|
+ ARRAY_SIZE(mop500_platform_devs));
|
|
|
|
+
|
|
|
|
+ mop500_i2c_init(parent);
|
|
|
|
+ hrefv60_sdi_init(parent);
|
|
|
|
+ mop500_spi_init(parent);
|
|
|
|
+ mop500_audio_init(parent);
|
|
|
|
+ mop500_uart_init(parent);
|
|
|
|
+
|
|
|
|
+ i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices);
|
|
|
|
+
|
|
|
|
+ i2c0_devs -= NUM_PRE_V60_I2C0_DEVICES;
|
|
|
|
+
|
|
|
|
+ i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs);
|
|
|
|
+ i2c_register_board_info(2, mop500_i2c2_devices,
|
|
|
|
+ ARRAY_SIZE(mop500_i2c2_devices));
|
|
|
|
+
|
|
|
|
+ /* This board has full regulator constraints */
|
|
|
|
+ regulator_has_full_constraints();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+MACHINE_START(U8500, "ST-Ericsson MOP500 platform")
|
|
|
|
+ /* Maintainer: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> */
|
|
|
|
+ .atag_offset = 0x100,
|
|
|
|
+ .smp = smp_ops(ux500_smp_ops),
|
|
|
|
+ .map_io = u8500_map_io,
|
|
|
|
+ .init_irq = ux500_init_irq,
|
|
|
|
+ /* we re-use nomadik timer here */
|
|
|
|
+ .timer = &ux500_timer,
|
|
|
|
+ .handle_irq = gic_handle_irq,
|
|
|
|
+ .init_machine = mop500_init_machine,
|
|
|
|
+ .init_late = ux500_init_late,
|
|
|
|
+MACHINE_END
|
|
|
|
+
|
|
|
|
+MACHINE_START(U8520, "ST-Ericsson U8520 Platform HREFP520")
|
|
|
|
+ .atag_offset = 0x100,
|
|
|
|
+ .map_io = u8500_map_io,
|
|
|
|
+ .init_irq = ux500_init_irq,
|
|
|
|
+ .timer = &ux500_timer,
|
|
|
|
+ .handle_irq = gic_handle_irq,
|
|
|
|
+ .init_machine = mop500_init_machine,
|
|
|
|
+ .init_late = ux500_init_late,
|
|
|
|
+MACHINE_END
|
|
|
|
+
|
|
|
|
+MACHINE_START(HREFV60, "ST-Ericsson U8500 Platform HREFv60+")
|
|
|
|
+ .atag_offset = 0x100,
|
|
|
|
+ .smp = smp_ops(ux500_smp_ops),
|
|
|
|
+ .map_io = u8500_map_io,
|
|
|
|
+ .init_irq = ux500_init_irq,
|
|
|
|
+ .timer = &ux500_timer,
|
|
|
|
+ .handle_irq = gic_handle_irq,
|
|
|
|
+ .init_machine = hrefv60_init_machine,
|
|
|
|
+ .init_late = ux500_init_late,
|
|
|
|
+MACHINE_END
|
|
|
|
+
|
|
|
|
+MACHINE_START(SNOWBALL, "Calao Systems Snowball platform")
|
|
|
|
+ .atag_offset = 0x100,
|
|
|
|
+ .smp = smp_ops(ux500_smp_ops),
|
|
|
|
+ .map_io = u8500_map_io,
|
|
|
|
+ .init_irq = ux500_init_irq,
|
|
|
|
+ /* we re-use nomadik timer here */
|
|
|
|
+ .timer = &ux500_timer,
|
|
|
|
+ .handle_irq = gic_handle_irq,
|
|
|
|
+ .init_machine = snowball_init_machine,
|
|
|
|
+ .init_late = NULL,
|
|
|
|
+MACHINE_END
|