* [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2
@ 2015-05-04 20:01 Tony Lindgren
2015-05-04 20:01 ` [PATCH 1/3] ARM: OMAP2+: Remove legacy booting support for cm-t35 Tony Lindgren
` (3 more replies)
0 siblings, 4 replies; 15+ messages in thread
From: Tony Lindgren @ 2015-05-04 20:01 UTC (permalink / raw)
To: linux-arm-kernel
Hi all,
It seems we're ready to drop these board-*.c files for v4.2.
Please respond if you still have issues so we can fix those
for the device tree based booting.
For dropping the remaining omap3 legacy boot support, we still
have the following board-*.c files:
BOARD REASON NEEDED
board-ldp.c Still used in RMKs boot test system
board-omap3logic.c Getting a .dts file for v4.2
board-omap3pandora.c Got a .dts file for v4.1
board-rx51-*.c Needs /proc/atags support for user space
I'm hoping we can drop those for v4.3 merge window, then keep
the platform data around for one more merge window in case of
reverting needed, then drop the platform data too for v4.4
if no issues needing reverting are found.
Regards,
Tony
Tony Lindgren (3):
ARM: OMAP2+: Remove legacy booting support for cm-t35
ARM: OMAP2+: Remove legacy booting support for Overo
ARM: OMAP2+: Remove legacy booting support for Beagleboards
arch/arm/mach-omap2/Kconfig | 22 -
arch/arm/mach-omap2/Makefile | 3 -
arch/arm/mach-omap2/board-cm-t35.c | 769 --------------------------------
arch/arm/mach-omap2/board-omap3beagle.c | 595 ------------------------
arch/arm/mach-omap2/board-overo.c | 571 ------------------------
5 files changed, 1960 deletions(-)
delete mode 100644 arch/arm/mach-omap2/board-cm-t35.c
delete mode 100644 arch/arm/mach-omap2/board-omap3beagle.c
delete mode 100644 arch/arm/mach-omap2/board-overo.c
--
2.1.4
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/3] ARM: OMAP2+: Remove legacy booting support for cm-t35
2015-05-04 20:01 [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2 Tony Lindgren
@ 2015-05-04 20:01 ` Tony Lindgren
2015-05-04 20:01 ` [PATCH 2/3] ARM: OMAP2+: Remove legacy booting support for Overo Tony Lindgren
` (2 subsequent siblings)
3 siblings, 0 replies; 15+ messages in thread
From: Tony Lindgren @ 2015-05-04 20:01 UTC (permalink / raw)
To: linux-arm-kernel
We've been moving all omap2+ based systems to boot in device tree only
mode for a few years now. Only omap3 has legacy booting support
remaining. Most omap3 boards already have related arch/arm/boot/*.dts*
files for booting with device tree.
This board has support for device tree based booting, and we've been
printing warnings about the legacy booting being deprecated for a
few merge cycles now. Let's attempt to remove the legacy booting
for it.
The reason for removing the legacy booting support now rather than
later is we can simply revert this patch if necessary if we run
into some unexpected issues that are not trivial to fix for the
device tree based booting.
Cc: Dmitry Lifshitz <lifshitz@compulab.co.il>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/Kconfig | 10 -
arch/arm/mach-omap2/Makefile | 1 -
arch/arm/mach-omap2/board-cm-t35.c | 769 -------------------------------------
3 files changed, 780 deletions(-)
delete mode 100644 arch/arm/mach-omap2/board-cm-t35.c
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 6468f15..8b3aa4c 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -240,16 +240,6 @@ config MACH_NOKIA_RX51
default y
select OMAP_PACKAGE_CBB
-config MACH_CM_T35
- bool "CompuLab CM-T35/CM-T3730 modules"
- depends on ARCH_OMAP3
- default y
- select MACH_CM_T3730
- select OMAP_PACKAGE_CUS
-
-config MACH_CM_T3730
- bool
-
config OMAP3_SDRC_AC_TIMING
bool "Enable SDRC AC timing register changes"
depends on ARCH_OMAP3
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index ec002bd..ff634a1 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -252,7 +252,6 @@ obj-$(CONFIG_MACH_NOKIA_N8X0) += board-n8x0.o
obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51.o sdram-nokia.o
obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51-peripherals.o
obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51-video.o
-obj-$(CONFIG_MACH_CM_T35) += board-cm-t35.o
# Platform specific device init code
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
deleted file mode 100644
index b5dfbc1..0000000
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ /dev/null
@@ -1,769 +0,0 @@
-/*
- * CompuLab CM-T35/CM-T3730 modules support
- *
- * Copyright (C) 2009-2011 CompuLab, Ltd.
- * Authors: Mike Rapoport <mike@compulab.co.il>
- * Igor Grinberg <grinberg@compulab.co.il>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- */
-
-#include <linux/clk-provider.h>
-#include <linux/clkdev.h>
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/input.h>
-#include <linux/input/matrix_keypad.h>
-#include <linux/delay.h>
-#include <linux/gpio.h>
-#include <linux/omap-gpmc.h>
-#include <linux/platform_data/gpio-omap.h>
-
-#include <linux/platform_data/at24.h>
-#include <linux/i2c/twl.h>
-#include <linux/regulator/fixed.h>
-#include <linux/regulator/machine.h>
-#include <linux/mmc/host.h>
-#include <linux/usb/phy.h>
-
-#include <linux/spi/spi.h>
-#include <linux/spi/tdo24m.h>
-
-#include <asm/mach-types.h>
-#include <asm/mach/arch.h>
-#include <asm/mach/map.h>
-
-#include <linux/platform_data/mtd-nand-omap2.h>
-#include <video/omapdss.h>
-#include <video/omap-panel-data.h>
-#include <linux/platform_data/spi-omap2-mcspi.h>
-
-#include "common.h"
-#include "mux.h"
-#include "sdram-micron-mt46h32m32lf-6.h"
-#include "hsmmc.h"
-#include "common-board-devices.h"
-
-#define CM_T35_GPIO_PENDOWN 57
-#define SB_T35_USB_HUB_RESET_GPIO 167
-
-#define CM_T35_SMSC911X_CS 5
-#define CM_T35_SMSC911X_GPIO 163
-#define SB_T35_SMSC911X_CS 4
-#define SB_T35_SMSC911X_GPIO 65
-
-#if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE)
-#include <linux/smsc911x.h>
-#include "gpmc-smsc911x.h"
-
-static struct omap_smsc911x_platform_data cm_t35_smsc911x_cfg = {
- .id = 0,
- .cs = CM_T35_SMSC911X_CS,
- .gpio_irq = CM_T35_SMSC911X_GPIO,
- .gpio_reset = -EINVAL,
- .flags = SMSC911X_USE_32BIT | SMSC911X_SAVE_MAC_ADDRESS,
-};
-
-static struct omap_smsc911x_platform_data sb_t35_smsc911x_cfg = {
- .id = 1,
- .cs = SB_T35_SMSC911X_CS,
- .gpio_irq = SB_T35_SMSC911X_GPIO,
- .gpio_reset = -EINVAL,
- .flags = SMSC911X_USE_32BIT | SMSC911X_SAVE_MAC_ADDRESS,
-};
-
-static struct regulator_consumer_supply cm_t35_smsc911x_supplies[] = {
- REGULATOR_SUPPLY("vddvario", "smsc911x.0"),
- REGULATOR_SUPPLY("vdd33a", "smsc911x.0"),
-};
-
-static struct regulator_consumer_supply sb_t35_smsc911x_supplies[] = {
- REGULATOR_SUPPLY("vddvario", "smsc911x.1"),
- REGULATOR_SUPPLY("vdd33a", "smsc911x.1"),
-};
-
-static void __init cm_t35_init_ethernet(void)
-{
- regulator_register_fixed(0, cm_t35_smsc911x_supplies,
- ARRAY_SIZE(cm_t35_smsc911x_supplies));
- regulator_register_fixed(1, sb_t35_smsc911x_supplies,
- ARRAY_SIZE(sb_t35_smsc911x_supplies));
-
- gpmc_smsc911x_init(&cm_t35_smsc911x_cfg);
- gpmc_smsc911x_init(&sb_t35_smsc911x_cfg);
-}
-#else
-static inline void __init cm_t35_init_ethernet(void) { return; }
-#endif
-
-#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
-#include <linux/leds.h>
-
-static struct gpio_led cm_t35_leds[] = {
- [0] = {
- .gpio = 186,
- .name = "cm-t35:green",
- .default_trigger = "heartbeat",
- .active_low = 0,
- },
-};
-
-static struct gpio_led_platform_data cm_t35_led_pdata = {
- .num_leds = ARRAY_SIZE(cm_t35_leds),
- .leds = cm_t35_leds,
-};
-
-static struct platform_device cm_t35_led_device = {
- .name = "leds-gpio",
- .id = -1,
- .dev = {
- .platform_data = &cm_t35_led_pdata,
- },
-};
-
-static void __init cm_t35_init_led(void)
-{
- platform_device_register(&cm_t35_led_device);
-}
-#else
-static inline void cm_t35_init_led(void) {}
-#endif
-
-#if defined(CONFIG_MTD_NAND_OMAP2) || defined(CONFIG_MTD_NAND_OMAP2_MODULE)
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/nand.h>
-#include <linux/mtd/partitions.h>
-
-static struct mtd_partition cm_t35_nand_partitions[] = {
- {
- .name = "xloader",
- .offset = 0, /* Offset = 0x00000 */
- .size = 4 * NAND_BLOCK_SIZE,
- .mask_flags = MTD_WRITEABLE
- },
- {
- .name = "uboot",
- .offset = MTDPART_OFS_APPEND, /* Offset = 0x80000 */
- .size = 15 * NAND_BLOCK_SIZE,
- },
- {
- .name = "uboot environment",
- .offset = MTDPART_OFS_APPEND, /* Offset = 0x260000 */
- .size = 2 * NAND_BLOCK_SIZE,
- },
- {
- .name = "linux",
- .offset = MTDPART_OFS_APPEND, /* Offset = 0x2A0000 */
- .size = 32 * NAND_BLOCK_SIZE,
- },
- {
- .name = "rootfs",
- .offset = MTDPART_OFS_APPEND, /* Offset = 0x6A0000 */
- .size = MTDPART_SIZ_FULL,
- },
-};
-
-static struct omap_nand_platform_data cm_t35_nand_data = {
- .parts = cm_t35_nand_partitions,
- .nr_parts = ARRAY_SIZE(cm_t35_nand_partitions),
- .cs = 0,
-};
-
-static void __init cm_t35_init_nand(void)
-{
- if (gpmc_nand_init(&cm_t35_nand_data, NULL) < 0)
- pr_err("CM-T35: Unable to register NAND device\n");
-}
-#else
-static inline void cm_t35_init_nand(void) {}
-#endif
-
-#define CM_T35_LCD_EN_GPIO 157
-#define CM_T35_LCD_BL_GPIO 58
-#define CM_T35_DVI_EN_GPIO 54
-
-static const struct display_timing cm_t35_lcd_videomode = {
- .pixelclock = { 0, 26000000, 0 },
-
- .hactive = { 0, 480, 0 },
- .hfront_porch = { 0, 104, 0 },
- .hback_porch = { 0, 8, 0 },
- .hsync_len = { 0, 8, 0 },
-
- .vactive = { 0, 640, 0 },
- .vfront_porch = { 0, 4, 0 },
- .vback_porch = { 0, 2, 0 },
- .vsync_len = { 0, 2, 0 },
-
- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
- DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_NEGEDGE,
-};
-
-static struct panel_dpi_platform_data cm_t35_lcd_pdata = {
- .name = "lcd",
- .source = "dpi.0",
-
- .data_lines = 18,
-
- .display_timing = &cm_t35_lcd_videomode,
-
- .enable_gpio = -1,
- .backlight_gpio = CM_T35_LCD_BL_GPIO,
-};
-
-static struct platform_device cm_t35_lcd_device = {
- .name = "panel-dpi",
- .id = 0,
- .dev.platform_data = &cm_t35_lcd_pdata,
-};
-
-static struct connector_dvi_platform_data cm_t35_dvi_connector_pdata = {
- .name = "dvi",
- .source = "tfp410.0",
- .i2c_bus_num = -1,
-};
-
-static struct platform_device cm_t35_dvi_connector_device = {
- .name = "connector-dvi",
- .id = 0,
- .dev.platform_data = &cm_t35_dvi_connector_pdata,
-};
-
-static struct encoder_tfp410_platform_data cm_t35_tfp410_pdata = {
- .name = "tfp410.0",
- .source = "dpi.0",
- .data_lines = 24,
- .power_down_gpio = CM_T35_DVI_EN_GPIO,
-};
-
-static struct platform_device cm_t35_tfp410_device = {
- .name = "tfp410",
- .id = 0,
- .dev.platform_data = &cm_t35_tfp410_pdata,
-};
-
-static struct connector_atv_platform_data cm_t35_tv_pdata = {
- .name = "tv",
- .source = "venc.0",
- .connector_type = OMAP_DSS_VENC_TYPE_SVIDEO,
- .invert_polarity = false,
-};
-
-static struct platform_device cm_t35_tv_connector_device = {
- .name = "connector-analog-tv",
- .id = 0,
- .dev.platform_data = &cm_t35_tv_pdata,
-};
-
-static struct omap_dss_board_info cm_t35_dss_data = {
- .default_display_name = "dvi",
-};
-
-static struct omap2_mcspi_device_config tdo24m_mcspi_config = {
- .turbo_mode = 0,
-};
-
-static struct tdo24m_platform_data tdo24m_config = {
- .model = TDO35S,
-};
-
-static struct spi_board_info cm_t35_lcd_spi_board_info[] __initdata = {
- {
- .modalias = "tdo24m",
- .bus_num = 4,
- .chip_select = 0,
- .max_speed_hz = 1000000,
- .controller_data = &tdo24m_mcspi_config,
- .platform_data = &tdo24m_config,
- },
-};
-
-static void __init cm_t35_init_display(void)
-{
- int err;
-
- spi_register_board_info(cm_t35_lcd_spi_board_info,
- ARRAY_SIZE(cm_t35_lcd_spi_board_info));
-
-
- err = gpio_request_one(CM_T35_LCD_EN_GPIO, GPIOF_OUT_INIT_LOW,
- "lcd bl enable");
- if (err) {
- pr_err("CM-T35: failed to request LCD EN GPIO\n");
- return;
- }
-
- msleep(50);
- gpio_set_value(CM_T35_LCD_EN_GPIO, 1);
-
- err = omap_display_init(&cm_t35_dss_data);
- if (err) {
- pr_err("CM-T35: failed to register DSS device\n");
- gpio_free(CM_T35_LCD_EN_GPIO);
- }
-
- platform_device_register(&cm_t35_tfp410_device);
- platform_device_register(&cm_t35_dvi_connector_device);
- platform_device_register(&cm_t35_lcd_device);
- platform_device_register(&cm_t35_tv_connector_device);
-}
-
-static struct regulator_consumer_supply cm_t35_vmmc1_supply[] = {
- REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
-};
-
-static struct regulator_consumer_supply cm_t35_vsim_supply[] = {
- REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
-};
-
-static struct regulator_consumer_supply cm_t35_vio_supplies[] = {
- REGULATOR_SUPPLY("vcc", "spi1.0"),
- REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
- REGULATOR_SUPPLY("vdds_dsi", "omapdss_dpi.0"),
- REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"),
-};
-
-/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
-static struct regulator_init_data cm_t35_vmmc1 = {
- .constraints = {
- .min_uV = 1850000,
- .max_uV = 3150000,
- .valid_modes_mask = REGULATOR_MODE_NORMAL
- | REGULATOR_MODE_STANDBY,
- .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
- | REGULATOR_CHANGE_MODE
- | REGULATOR_CHANGE_STATUS,
- },
- .num_consumer_supplies = ARRAY_SIZE(cm_t35_vmmc1_supply),
- .consumer_supplies = cm_t35_vmmc1_supply,
-};
-
-/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */
-static struct regulator_init_data cm_t35_vsim = {
- .constraints = {
- .min_uV = 1800000,
- .max_uV = 3000000,
- .valid_modes_mask = REGULATOR_MODE_NORMAL
- | REGULATOR_MODE_STANDBY,
- .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
- | REGULATOR_CHANGE_MODE
- | REGULATOR_CHANGE_STATUS,
- },
- .num_consumer_supplies = ARRAY_SIZE(cm_t35_vsim_supply),
- .consumer_supplies = cm_t35_vsim_supply,
-};
-
-static struct regulator_init_data cm_t35_vio = {
- .constraints = {
- .min_uV = 1800000,
- .max_uV = 1800000,
- .apply_uV = true,
- .valid_modes_mask = REGULATOR_MODE_NORMAL
- | REGULATOR_MODE_STANDBY,
- .valid_ops_mask = REGULATOR_CHANGE_MODE,
- },
- .num_consumer_supplies = ARRAY_SIZE(cm_t35_vio_supplies),
- .consumer_supplies = cm_t35_vio_supplies,
-};
-
-static uint32_t cm_t35_keymap[] = {
- KEY(0, 0, KEY_A), KEY(0, 1, KEY_B), KEY(0, 2, KEY_LEFT),
- KEY(1, 0, KEY_UP), KEY(1, 1, KEY_ENTER), KEY(1, 2, KEY_DOWN),
- KEY(2, 0, KEY_RIGHT), KEY(2, 1, KEY_C), KEY(2, 2, KEY_D),
-};
-
-static struct matrix_keymap_data cm_t35_keymap_data = {
- .keymap = cm_t35_keymap,
- .keymap_size = ARRAY_SIZE(cm_t35_keymap),
-};
-
-static struct twl4030_keypad_data cm_t35_kp_data = {
- .keymap_data = &cm_t35_keymap_data,
- .rows = 3,
- .cols = 3,
- .rep = 1,
-};
-
-static struct omap2_hsmmc_info mmc[] = {
- {
- .mmc = 1,
- .caps = MMC_CAP_4_BIT_DATA,
- .gpio_cd = -EINVAL,
- .gpio_wp = -EINVAL,
- .deferred = true,
- },
- {
- .mmc = 2,
- .caps = MMC_CAP_4_BIT_DATA,
- .transceiver = 1,
- .gpio_cd = -EINVAL,
- .gpio_wp = -EINVAL,
- .ocr_mask = 0x00100000, /* 3.3V */
- },
- {} /* Terminator */
-};
-
-static struct usbhs_phy_data phy_data[] __initdata = {
- {
- .port = 1,
- .reset_gpio = OMAP_MAX_GPIO_LINES + 6,
- .vcc_gpio = -EINVAL,
- },
- {
- .port = 2,
- .reset_gpio = OMAP_MAX_GPIO_LINES + 7,
- .vcc_gpio = -EINVAL,
- },
-};
-
-static struct usbhs_omap_platform_data usbhs_bdata __initdata = {
- .port_mode[0] = OMAP_EHCI_PORT_MODE_PHY,
- .port_mode[1] = OMAP_EHCI_PORT_MODE_PHY,
-};
-
-static void __init cm_t35_init_usbh(void)
-{
- int err;
-
- err = gpio_request_one(SB_T35_USB_HUB_RESET_GPIO,
- GPIOF_OUT_INIT_LOW, "usb hub rst");
- if (err) {
- pr_err("SB-T35: usb hub rst gpio request failed: %d\n", err);
- } else {
- udelay(10);
- gpio_set_value(SB_T35_USB_HUB_RESET_GPIO, 1);
- msleep(1);
- }
-
- usbhs_init_phys(phy_data, ARRAY_SIZE(phy_data));
- usbhs_init(&usbhs_bdata);
-}
-
-static int cm_t35_twl_gpio_setup(struct device *dev, unsigned gpio,
- unsigned ngpio)
-{
- int wlan_rst = gpio + 2;
-
- if (gpio_request_one(wlan_rst, GPIOF_OUT_INIT_HIGH, "WLAN RST") == 0) {
- gpio_export(wlan_rst, 0);
- udelay(10);
- gpio_set_value_cansleep(wlan_rst, 0);
- udelay(10);
- gpio_set_value_cansleep(wlan_rst, 1);
- } else {
- pr_err("CM-T35: could not obtain gpio for WiFi reset\n");
- }
-
- /* gpio + 0 is "mmc0_cd" (input/IRQ) */
- mmc[0].gpio_cd = gpio + 0;
- omap_hsmmc_late_init(mmc);
-
- return 0;
-}
-
-static struct twl4030_gpio_platform_data cm_t35_gpio_data = {
- .setup = cm_t35_twl_gpio_setup,
-};
-
-static struct twl4030_power_data cm_t35_power_data = {
- .use_poweroff = true,
-};
-
-static struct twl4030_platform_data cm_t35_twldata = {
- /* platform_data for children goes here */
- .keypad = &cm_t35_kp_data,
- .gpio = &cm_t35_gpio_data,
- .vmmc1 = &cm_t35_vmmc1,
- .vsim = &cm_t35_vsim,
- .vio = &cm_t35_vio,
- .power = &cm_t35_power_data,
-};
-
-#if defined(CONFIG_VIDEO_OMAP3) || defined(CONFIG_VIDEO_OMAP3_MODULE)
-#include <media/omap3isp.h>
-#include "devices.h"
-
-static struct isp_platform_subdev cm_t35_isp_subdevs[] = {
- {
- .board_info = &(struct i2c_board_info){
- I2C_BOARD_INFO("mt9t001", 0x5d)
- },
- .i2c_adapter_id = 3,
- .bus = &(struct isp_bus_cfg){
- .interface = ISP_INTERFACE_PARALLEL,
- .bus = {
- .parallel = {
- .clk_pol = 1,
- },
- },
- },
- },
- {
- .board_info = &(struct i2c_board_info){
- I2C_BOARD_INFO("tvp5150", 0x5c),
- },
- .i2c_adapter_id = 3,
- .bus = &(struct isp_bus_cfg){
- .interface = ISP_INTERFACE_PARALLEL,
- .bus = {
- .parallel = {
- .clk_pol = 0,
- },
- },
- },
- },
- { 0 },
-};
-
-static struct isp_platform_data cm_t35_isp_pdata = {
- .subdevs = cm_t35_isp_subdevs,
-};
-
-static struct regulator_consumer_supply cm_t35_camera_supplies[] = {
- REGULATOR_SUPPLY("vaa", "3-005d"),
- REGULATOR_SUPPLY("vdd", "3-005d"),
-};
-
-static void __init cm_t35_init_camera(void)
-{
- struct clk *clk;
-
- clk = clk_register_fixed_rate(NULL, "mt9t001-clkin", NULL, CLK_IS_ROOT,
- 48000000);
- clk_register_clkdev(clk, NULL, "3-005d");
-
- regulator_register_fixed(2, cm_t35_camera_supplies,
- ARRAY_SIZE(cm_t35_camera_supplies));
-
- if (omap3_init_camera(&cm_t35_isp_pdata) < 0)
- pr_warn("CM-T3x: Failed registering camera device!\n");
-}
-
-#else
-static inline void cm_t35_init_camera(void) {}
-#endif /* CONFIG_VIDEO_OMAP3 */
-
-static void __init cm_t35_init_i2c(void)
-{
- omap3_pmic_get_config(&cm_t35_twldata, TWL_COMMON_PDATA_USB,
- TWL_COMMON_REGULATOR_VDAC |
- TWL_COMMON_PDATA_AUDIO);
-
- omap3_pmic_init("tps65930", &cm_t35_twldata);
-
- omap_register_i2c_bus(3, 400, NULL, 0);
-}
-
-#ifdef CONFIG_OMAP_MUX
-static struct omap_board_mux board_mux[] __initdata = {
- /* nCS and IRQ for CM-T35 ethernet */
- OMAP3_MUX(GPMC_NCS5, OMAP_MUX_MODE0),
- OMAP3_MUX(UART3_CTS_RCTX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP),
-
- /* nCS and IRQ for SB-T35 ethernet */
- OMAP3_MUX(GPMC_NCS4, OMAP_MUX_MODE0),
- OMAP3_MUX(GPMC_WAIT3, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP),
-
- /* PENDOWN GPIO */
- OMAP3_MUX(GPMC_NCS6, OMAP_MUX_MODE4 | OMAP_PIN_INPUT),
-
- /* mUSB */
- OMAP3_MUX(HSUSB0_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(HSUSB0_STP, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(HSUSB0_DIR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(HSUSB0_NXT, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(HSUSB0_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(HSUSB0_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(HSUSB0_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(HSUSB0_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(HSUSB0_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(HSUSB0_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(HSUSB0_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(HSUSB0_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
-
- /* MMC 2 */
- OMAP3_MUX(SDMMC2_DAT4, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(SDMMC2_DAT5, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(SDMMC2_DAT6, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(SDMMC2_DAT7, OMAP_MUX_MODE1 | OMAP_PIN_INPUT),
-
- /* McSPI 1 */
- OMAP3_MUX(MCSPI1_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(MCSPI1_SIMO, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(MCSPI1_SOMI, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(MCSPI1_CS0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
-
- /* McSPI 4 */
- OMAP3_MUX(MCBSP1_CLKR, OMAP_MUX_MODE1 | OMAP_PIN_INPUT),
- OMAP3_MUX(MCBSP1_DX, OMAP_MUX_MODE1 | OMAP_PIN_INPUT),
- OMAP3_MUX(MCBSP1_DR, OMAP_MUX_MODE1 | OMAP_PIN_INPUT),
- OMAP3_MUX(MCBSP1_FSX, OMAP_MUX_MODE1 | OMAP_PIN_INPUT_PULLUP),
-
- /* McBSP 2 */
- OMAP3_MUX(MCBSP2_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(MCBSP2_CLKX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(MCBSP2_DR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(MCBSP2_DX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-
- /* serial ports */
- OMAP3_MUX(MCBSP3_CLKX, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(MCBSP3_FSX, OMAP_MUX_MODE1 | OMAP_PIN_INPUT),
- OMAP3_MUX(UART1_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(UART1_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
-
- /* common DSS */
- OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(DSS_DATA9, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(DSS_DATA10, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(DSS_DATA11, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(DSS_DATA12, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(DSS_DATA13, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(DSS_DATA14, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
-
- /* Camera */
- OMAP3_MUX(CAM_HS, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(CAM_VS, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(CAM_XCLKA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(CAM_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(CAM_FLD, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(CAM_D0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(CAM_D1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(CAM_D2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(CAM_D3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(CAM_D4, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(CAM_D5, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(CAM_D6, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(CAM_D7, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
- OMAP3_MUX(CAM_D8, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
- OMAP3_MUX(CAM_D9, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
- OMAP3_MUX(CAM_STROBE, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
-
- OMAP3_MUX(CAM_D10, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN),
- OMAP3_MUX(CAM_D11, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN),
-
- /* display controls */
- OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(GPMC_NCS7, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
- OMAP3_MUX(GPMC_NCS3, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
-
- /* TPS IRQ */
- OMAP3_MUX(SYS_NIRQ, OMAP_MUX_MODE0 | OMAP_WAKEUP_EN | \
- OMAP_PIN_INPUT_PULLUP),
-
- { .reg_offset = OMAP_MUX_TERMINATOR },
-};
-
-static void __init cm_t3x_common_dss_mux_init(int mux_mode)
-{
- omap_mux_init_signal("dss_data18", mux_mode);
- omap_mux_init_signal("dss_data19", mux_mode);
- omap_mux_init_signal("dss_data20", mux_mode);
- omap_mux_init_signal("dss_data21", mux_mode);
- omap_mux_init_signal("dss_data22", mux_mode);
- omap_mux_init_signal("dss_data23", mux_mode);
-}
-
-static void __init cm_t35_init_mux(void)
-{
- int mux_mode = OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT;
-
- omap_mux_init_signal("dss_data0.dss_data0", mux_mode);
- omap_mux_init_signal("dss_data1.dss_data1", mux_mode);
- omap_mux_init_signal("dss_data2.dss_data2", mux_mode);
- omap_mux_init_signal("dss_data3.dss_data3", mux_mode);
- omap_mux_init_signal("dss_data4.dss_data4", mux_mode);
- omap_mux_init_signal("dss_data5.dss_data5", mux_mode);
- cm_t3x_common_dss_mux_init(mux_mode);
-}
-
-static void __init cm_t3730_init_mux(void)
-{
- int mux_mode = OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT;
-
- omap_mux_init_signal("sys_boot0", mux_mode);
- omap_mux_init_signal("sys_boot1", mux_mode);
- omap_mux_init_signal("sys_boot3", mux_mode);
- omap_mux_init_signal("sys_boot4", mux_mode);
- omap_mux_init_signal("sys_boot5", mux_mode);
- omap_mux_init_signal("sys_boot6", mux_mode);
- cm_t3x_common_dss_mux_init(mux_mode);
-}
-#else
-static inline void cm_t35_init_mux(void) {}
-static inline void cm_t3730_init_mux(void) {}
-#endif
-
-static void __init cm_t3x_common_init(void)
-{
- omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
- omap_serial_init();
- omap_sdrc_init(mt46h32m32lf6_sdrc_params,
- mt46h32m32lf6_sdrc_params);
- omap_hsmmc_init(mmc);
- cm_t35_init_i2c();
- omap_ads7846_init(1, CM_T35_GPIO_PENDOWN, 0, NULL);
- cm_t35_init_ethernet();
- cm_t35_init_led();
- cm_t35_init_display();
- omap_twl4030_audio_init("cm-t3x", NULL);
-
- usb_bind_phy("musb-hdrc.0.auto", 0, "twl4030_usb");
- usb_musb_init(NULL);
- cm_t35_init_usbh();
- cm_t35_init_camera();
-}
-
-static void __init cm_t35_init(void)
-{
- cm_t3x_common_init();
- cm_t35_init_mux();
- cm_t35_init_nand();
-}
-
-static void __init cm_t3730_init(void)
-{
- cm_t3x_common_init();
- cm_t3730_init_mux();
-}
-
-MACHINE_START(CM_T35, "Compulab CM-T35")
- .atag_offset = 0x100,
- .reserve = omap_reserve,
- .map_io = omap3_map_io,
- .init_early = omap35xx_init_early,
- .init_irq = omap3_init_irq,
- .init_machine = cm_t35_init,
- .init_late = omap35xx_init_late,
- .init_time = omap3_sync32k_timer_init,
- .restart = omap3xxx_restart,
-MACHINE_END
-
-MACHINE_START(CM_T3730, "Compulab CM-T3730")
- .atag_offset = 0x100,
- .reserve = omap_reserve,
- .map_io = omap3_map_io,
- .init_early = omap3630_init_early,
- .init_irq = omap3_init_irq,
- .init_machine = cm_t3730_init,
- .init_late = omap3630_init_late,
- .init_time = omap3_sync32k_timer_init,
- .restart = omap3xxx_restart,
-MACHINE_END
--
2.1.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/3] ARM: OMAP2+: Remove legacy booting support for Overo
2015-05-04 20:01 [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2 Tony Lindgren
2015-05-04 20:01 ` [PATCH 1/3] ARM: OMAP2+: Remove legacy booting support for cm-t35 Tony Lindgren
@ 2015-05-04 20:01 ` Tony Lindgren
2015-05-06 16:14 ` Ash Charles
2015-05-04 20:01 ` [PATCH 3/3] ARM: OMAP2+: Remove legacy booting support for Beagleboards Tony Lindgren
2015-05-05 10:54 ` [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2 Arnd Bergmann
3 siblings, 1 reply; 15+ messages in thread
From: Tony Lindgren @ 2015-05-04 20:01 UTC (permalink / raw)
To: linux-arm-kernel
We've been moving all omap2+ based systems to boot in device tree only
mode for a few years now. Only omap3 has legacy booting support
remaining. Most omap3 boards already have related arch/arm/boot/*.dts*
files for booting with device tree.
This board has support for device tree based booting, and we've been
printing warnings about the legacy booting being deprecated for a
few merge cycles now. Let's attempt to remove the legacy booting
for it.
The reason for removing the legacy booting support now rather than
later is we can simply revert this patch if necessary if we run
into some unexpected issues that are not trivial to fix for the
device tree based booting.
Cc: Ash Charles <ashcharles@gmail.com>
Cc: Florian Vaussard <florian.vaussard@epfl.ch>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/Kconfig | 6 -
arch/arm/mach-omap2/Makefile | 1 -
arch/arm/mach-omap2/board-overo.c | 571 --------------------------------------
3 files changed, 578 deletions(-)
delete mode 100644 arch/arm/mach-omap2/board-overo.c
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 8b3aa4c..1b8a45a 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -203,12 +203,6 @@ config MACH_OMAP3_TORPEDO
for full description please see the products webpage at
http://www.logicpd.com/products/development-kits/zoom-omap35x-torpedo-development-kit
-config MACH_OVERO
- bool "Gumstix Overo board"
- depends on ARCH_OMAP3
- default y
- select OMAP_PACKAGE_CBB
-
config MACH_OMAP3517EVM
bool "OMAP3517/ AM3517 EVM board"
depends on ARCH_OMAP3
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index ff634a1..a60e986 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -246,7 +246,6 @@ obj-$(CONFIG_MACH_OMAP3_BEAGLE) += board-omap3beagle.o
obj-$(CONFIG_MACH_OMAP_LDP) += board-ldp.o
obj-$(CONFIG_MACH_OMAP3530_LV_SOM) += board-omap3logic.o
obj-$(CONFIG_MACH_OMAP3_TORPEDO) += board-omap3logic.o
-obj-$(CONFIG_MACH_OVERO) += board-overo.o
obj-$(CONFIG_MACH_OMAP3_PANDORA) += board-omap3pandora.o
obj-$(CONFIG_MACH_NOKIA_N8X0) += board-n8x0.o
obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51.o sdram-nokia.o
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
deleted file mode 100644
index 2dae6cc..0000000
--- a/arch/arm/mach-omap2/board-overo.c
+++ /dev/null
@@ -1,571 +0,0 @@
-/*
- * board-overo.c (Gumstix Overo)
- *
- * Initial code: Steve Sakoman <steve@sakoman.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA
- *
- */
-
-#include <linux/clk.h>
-#include <linux/delay.h>
-#include <linux/err.h>
-#include <linux/init.h>
-#include <linux/io.h>
-#include <linux/gpio.h>
-#include <linux/kernel.h>
-#include <linux/platform_device.h>
-#include <linux/i2c/twl.h>
-#include <linux/regulator/machine.h>
-#include <linux/regulator/fixed.h>
-#include <linux/spi/spi.h>
-
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/nand.h>
-#include <linux/mtd/partitions.h>
-#include <linux/mmc/host.h>
-#include <linux/usb/phy.h>
-
-#include <linux/platform_data/mtd-nand-omap2.h>
-#include <linux/platform_data/spi-omap2-mcspi.h>
-
-#include <asm/mach-types.h>
-#include <asm/mach/arch.h>
-#include <asm/mach/flash.h>
-#include <asm/mach/map.h>
-
-#include <video/omapdss.h>
-#include <video/omap-panel-data.h>
-
-#include "common.h"
-#include "mux.h"
-#include "sdram-micron-mt46h32m32lf-6.h"
-#include "gpmc.h"
-#include "hsmmc.h"
-#include "board-flash.h"
-#include "common-board-devices.h"
-
-#define NAND_CS 0
-
-#define OVERO_GPIO_BT_XGATE 15
-#define OVERO_GPIO_W2W_NRESET 16
-#define OVERO_GPIO_PENDOWN 114
-#define OVERO_GPIO_BT_NRESET 164
-#define OVERO_GPIO_USBH_CPEN 168
-#define OVERO_GPIO_USBH_NRESET 183
-
-#define OVERO_SMSC911X_CS 5
-#define OVERO_SMSC911X_GPIO 176
-#define OVERO_SMSC911X_NRESET 64
-#define OVERO_SMSC911X2_CS 4
-#define OVERO_SMSC911X2_GPIO 65
-
-/* whether to register LCD35 instead of LCD43 */
-static bool overo_use_lcd35;
-
-#if defined(CONFIG_TOUCHSCREEN_ADS7846) || \
- defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
-
-/* fixed regulator for ads7846 */
-static struct regulator_consumer_supply ads7846_supply[] = {
- REGULATOR_SUPPLY("vcc", "spi1.0"),
-};
-
-static struct regulator_init_data vads7846_regulator = {
- .constraints = {
- .valid_ops_mask = REGULATOR_CHANGE_STATUS,
- },
- .num_consumer_supplies = ARRAY_SIZE(ads7846_supply),
- .consumer_supplies = ads7846_supply,
-};
-
-static struct fixed_voltage_config vads7846 = {
- .supply_name = "vads7846",
- .microvolts = 3300000, /* 3.3V */
- .gpio = -EINVAL,
- .startup_delay = 0,
- .init_data = &vads7846_regulator,
-};
-
-static struct platform_device vads7846_device = {
- .name = "reg-fixed-voltage",
- .id = 1,
- .dev = {
- .platform_data = &vads7846,
- },
-};
-
-static void __init overo_ads7846_init(void)
-{
- omap_ads7846_init(1, OVERO_GPIO_PENDOWN, 0, NULL);
- platform_device_register(&vads7846_device);
-}
-
-#else
-static inline void __init overo_ads7846_init(void) { return; }
-#endif
-
-#if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE)
-
-#include <linux/smsc911x.h>
-#include "gpmc-smsc911x.h"
-
-static struct omap_smsc911x_platform_data smsc911x_cfg = {
- .id = 0,
- .cs = OVERO_SMSC911X_CS,
- .gpio_irq = OVERO_SMSC911X_GPIO,
- .gpio_reset = OVERO_SMSC911X_NRESET,
- .flags = SMSC911X_USE_32BIT,
-};
-
-static struct omap_smsc911x_platform_data smsc911x2_cfg = {
- .id = 1,
- .cs = OVERO_SMSC911X2_CS,
- .gpio_irq = OVERO_SMSC911X2_GPIO,
- .gpio_reset = -EINVAL,
- .flags = SMSC911X_USE_32BIT,
-};
-
-static void __init overo_init_smsc911x(void)
-{
- gpmc_smsc911x_init(&smsc911x_cfg);
- gpmc_smsc911x_init(&smsc911x2_cfg);
-}
-
-#else
-static inline void __init overo_init_smsc911x(void) { return; }
-#endif
-
-/* DSS */
-#define OVERO_GPIO_LCD_EN 144
-#define OVERO_GPIO_LCD_BL 145
-
-static struct connector_atv_platform_data overo_tv_pdata = {
- .name = "tv",
- .source = "venc.0",
- .connector_type = OMAP_DSS_VENC_TYPE_SVIDEO,
- .invert_polarity = false,
-};
-
-static struct platform_device overo_tv_connector_device = {
- .name = "connector-analog-tv",
- .id = 0,
- .dev.platform_data = &overo_tv_pdata,
-};
-
-static const struct display_timing overo_lcd43_videomode = {
- .pixelclock = { 0, 9200000, 0 },
-
- .hactive = { 0, 480, 0 },
- .hfront_porch = { 0, 8, 0 },
- .hback_porch = { 0, 4, 0 },
- .hsync_len = { 0, 41, 0 },
-
- .vactive = { 0, 272, 0 },
- .vfront_porch = { 0, 4, 0 },
- .vback_porch = { 0, 2, 0 },
- .vsync_len = { 0, 10, 0 },
-
- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
- DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
-};
-
-static struct panel_dpi_platform_data overo_lcd43_pdata = {
- .name = "lcd43",
- .source = "dpi.0",
-
- .data_lines = 24,
-
- .display_timing = &overo_lcd43_videomode,
-
- .enable_gpio = OVERO_GPIO_LCD_EN,
- .backlight_gpio = OVERO_GPIO_LCD_BL,
-};
-
-static struct platform_device overo_lcd43_device = {
- .name = "panel-dpi",
- .id = 0,
- .dev.platform_data = &overo_lcd43_pdata,
-};
-
-static struct connector_dvi_platform_data overo_dvi_connector_pdata = {
- .name = "dvi",
- .source = "tfp410.0",
- .i2c_bus_num = 3,
-};
-
-static struct platform_device overo_dvi_connector_device = {
- .name = "connector-dvi",
- .id = 0,
- .dev.platform_data = &overo_dvi_connector_pdata,
-};
-
-static struct encoder_tfp410_platform_data overo_tfp410_pdata = {
- .name = "tfp410.0",
- .source = "dpi.0",
- .data_lines = 24,
- .power_down_gpio = -1,
-};
-
-static struct platform_device overo_tfp410_device = {
- .name = "tfp410",
- .id = 0,
- .dev.platform_data = &overo_tfp410_pdata,
-};
-
-static struct omap_dss_board_info overo_dss_data = {
- .default_display_name = "lcd43",
-};
-
-static void __init overo_display_init(void)
-{
- omap_display_init(&overo_dss_data);
-
- if (!overo_use_lcd35)
- platform_device_register(&overo_lcd43_device);
- platform_device_register(&overo_tfp410_device);
- platform_device_register(&overo_dvi_connector_device);
- platform_device_register(&overo_tv_connector_device);
-}
-
-static struct mtd_partition overo_nand_partitions[] = {
- {
- .name = "xloader",
- .offset = 0, /* Offset = 0x00000 */
- .size = 4 * NAND_BLOCK_SIZE,
- .mask_flags = MTD_WRITEABLE
- },
- {
- .name = "uboot",
- .offset = MTDPART_OFS_APPEND, /* Offset = 0x80000 */
- .size = 14 * NAND_BLOCK_SIZE,
- },
- {
- .name = "uboot environment",
- .offset = MTDPART_OFS_APPEND, /* Offset = 0x240000 */
- .size = 2 * NAND_BLOCK_SIZE,
- },
- {
- .name = "linux",
- .offset = MTDPART_OFS_APPEND, /* Offset = 0x280000 */
- .size = 32 * NAND_BLOCK_SIZE,
- },
- {
- .name = "rootfs",
- .offset = MTDPART_OFS_APPEND, /* Offset = 0x680000 */
- .size = MTDPART_SIZ_FULL,
- },
-};
-
-static struct omap2_hsmmc_info mmc[] = {
- {
- .mmc = 1,
- .caps = MMC_CAP_4_BIT_DATA,
- .gpio_cd = -EINVAL,
- .gpio_wp = -EINVAL,
- },
- {
- .mmc = 2,
- .caps = MMC_CAP_4_BIT_DATA,
- .gpio_cd = -EINVAL,
- .gpio_wp = -EINVAL,
- .transceiver = true,
- .ocr_mask = 0x00100000, /* 3.3V */
- },
- {} /* Terminator */
-};
-
-static struct regulator_consumer_supply overo_vmmc1_supply[] = {
- REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
-};
-
-#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
-#include <linux/leds.h>
-
-static struct gpio_led gpio_leds[] = {
- {
- .name = "overo:red:gpio21",
- .default_trigger = "heartbeat",
- .gpio = 21,
- .active_low = true,
- },
- {
- .name = "overo:blue:gpio22",
- .default_trigger = "none",
- .gpio = 22,
- .active_low = true,
- },
- {
- .name = "overo:blue:COM",
- .default_trigger = "mmc0",
- .gpio = -EINVAL, /* gets replaced */
- .active_low = true,
- },
-};
-
-static struct gpio_led_platform_data gpio_leds_pdata = {
- .leds = gpio_leds,
- .num_leds = ARRAY_SIZE(gpio_leds),
-};
-
-static struct platform_device gpio_leds_device = {
- .name = "leds-gpio",
- .id = -1,
- .dev = {
- .platform_data = &gpio_leds_pdata,
- },
-};
-
-static void __init overo_init_led(void)
-{
- platform_device_register(&gpio_leds_device);
-}
-
-#else
-static inline void __init overo_init_led(void) { return; }
-#endif
-
-#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
-#include <linux/input.h>
-#include <linux/gpio_keys.h>
-
-static struct gpio_keys_button gpio_buttons[] = {
- {
- .code = BTN_0,
- .gpio = 23,
- .desc = "button0",
- .wakeup = 1,
- },
- {
- .code = BTN_1,
- .gpio = 14,
- .desc = "button1",
- .wakeup = 1,
- },
-};
-
-static struct gpio_keys_platform_data gpio_keys_pdata = {
- .buttons = gpio_buttons,
- .nbuttons = ARRAY_SIZE(gpio_buttons),
-};
-
-static struct platform_device gpio_keys_device = {
- .name = "gpio-keys",
- .id = -1,
- .dev = {
- .platform_data = &gpio_keys_pdata,
- },
-};
-
-static void __init overo_init_keys(void)
-{
- platform_device_register(&gpio_keys_device);
-}
-
-#else
-static inline void __init overo_init_keys(void) { return; }
-#endif
-
-static int overo_twl_gpio_setup(struct device *dev,
- unsigned gpio, unsigned ngpio)
-{
-#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
- /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
- gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
-#endif
-
- return 0;
-}
-
-static struct twl4030_gpio_platform_data overo_gpio_data = {
- .use_leds = true,
- .setup = overo_twl_gpio_setup,
-};
-
-static struct regulator_init_data overo_vmmc1 = {
- .constraints = {
- .min_uV = 1850000,
- .max_uV = 3150000,
- .valid_modes_mask = REGULATOR_MODE_NORMAL
- | REGULATOR_MODE_STANDBY,
- .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
- | REGULATOR_CHANGE_MODE
- | REGULATOR_CHANGE_STATUS,
- },
- .num_consumer_supplies = ARRAY_SIZE(overo_vmmc1_supply),
- .consumer_supplies = overo_vmmc1_supply,
-};
-
-static struct twl4030_platform_data overo_twldata = {
- .gpio = &overo_gpio_data,
- .vmmc1 = &overo_vmmc1,
-};
-
-static int __init overo_i2c_init(void)
-{
- omap3_pmic_get_config(&overo_twldata,
- TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO,
- TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2);
-
- overo_twldata.vpll2->constraints.name = "VDVI";
-
- omap3_pmic_init("tps65950", &overo_twldata);
- /* i2c2 pins are used for gpio */
- omap_register_i2c_bus(3, 400, NULL, 0);
- return 0;
-}
-
-static struct panel_lb035q02_platform_data overo_lcd35_pdata = {
- .name = "lcd35",
- .source = "dpi.0",
-
- .data_lines = 24,
-
- .enable_gpio = OVERO_GPIO_LCD_EN,
- .backlight_gpio = OVERO_GPIO_LCD_BL,
-};
-
-/*
- * NOTE: We need to add either the lgphilips panel, or the lcd43 panel. The
- * selection is done based on the overo_use_lcd35 field. If new SPI
- * devices are added here, extra work is needed to make only the lgphilips panel
- * affected by the overo_use_lcd35 field.
- */
-static struct spi_board_info overo_spi_board_info[] __initdata = {
- {
- .modalias = "panel_lgphilips_lb035q02",
- .bus_num = 1,
- .chip_select = 1,
- .max_speed_hz = 500000,
- .mode = SPI_MODE_3,
- .platform_data = &overo_lcd35_pdata,
- },
-};
-
-static int __init overo_spi_init(void)
-{
- overo_ads7846_init();
-
- if (overo_use_lcd35) {
- spi_register_board_info(overo_spi_board_info,
- ARRAY_SIZE(overo_spi_board_info));
- }
- return 0;
-}
-
-static struct usbhs_phy_data phy_data[] __initdata = {
- {
- .port = 2,
- .reset_gpio = OVERO_GPIO_USBH_NRESET,
- .vcc_gpio = -EINVAL,
- },
-};
-
-static struct usbhs_omap_platform_data usbhs_bdata __initdata = {
- .port_mode[1] = OMAP_EHCI_PORT_MODE_PHY,
-};
-
-#ifdef CONFIG_OMAP_MUX
-static struct omap_board_mux board_mux[] __initdata = {
- { .reg_offset = OMAP_MUX_TERMINATOR },
-};
-#endif
-
-static struct gpio overo_bt_gpios[] __initdata = {
- { OVERO_GPIO_BT_XGATE, GPIOF_OUT_INIT_LOW, "lcd enable" },
- { OVERO_GPIO_BT_NRESET, GPIOF_OUT_INIT_HIGH, "lcd bl enable" },
-};
-
-static struct regulator_consumer_supply dummy_supplies[] = {
- REGULATOR_SUPPLY("vddvario", "smsc911x.0"),
- REGULATOR_SUPPLY("vdd33a", "smsc911x.0"),
- REGULATOR_SUPPLY("vddvario", "smsc911x.1"),
- REGULATOR_SUPPLY("vdd33a", "smsc911x.1"),
-};
-
-static void __init overo_init(void)
-{
- int ret;
-
- if (strstr(boot_command_line, "omapdss.def_disp=lcd35"))
- overo_use_lcd35 = true;
-
- regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
- omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
- overo_i2c_init();
- omap_hsmmc_init(mmc);
- omap_serial_init();
- omap_sdrc_init(mt46h32m32lf6_sdrc_params,
- mt46h32m32lf6_sdrc_params);
- board_nand_init(overo_nand_partitions,
- ARRAY_SIZE(overo_nand_partitions), NAND_CS, 0, NULL);
- usb_bind_phy("musb-hdrc.0.auto", 0, "twl4030_usb");
- usb_musb_init(NULL);
-
- usbhs_init_phys(phy_data, ARRAY_SIZE(phy_data));
- usbhs_init(&usbhs_bdata);
- overo_spi_init();
- overo_init_smsc911x();
- overo_init_led();
- overo_init_keys();
- omap_twl4030_audio_init("overo", NULL);
-
- overo_display_init();
-
- /* Ensure SDRC pins are mux'd for self-refresh */
- omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT);
- omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT);
-
- ret = gpio_request_one(OVERO_GPIO_W2W_NRESET, GPIOF_OUT_INIT_HIGH,
- "OVERO_GPIO_W2W_NRESET");
- if (ret == 0) {
- gpio_export(OVERO_GPIO_W2W_NRESET, 0);
- gpio_set_value(OVERO_GPIO_W2W_NRESET, 0);
- udelay(10);
- gpio_set_value(OVERO_GPIO_W2W_NRESET, 1);
- } else {
- pr_err("could not obtain gpio for OVERO_GPIO_W2W_NRESET\n");
- }
-
- ret = gpio_request_array(overo_bt_gpios, ARRAY_SIZE(overo_bt_gpios));
- if (ret) {
- pr_err("%s: could not obtain BT gpios\n", __func__);
- } else {
- gpio_export(OVERO_GPIO_BT_XGATE, 0);
- gpio_export(OVERO_GPIO_BT_NRESET, 0);
- gpio_set_value(OVERO_GPIO_BT_NRESET, 0);
- mdelay(6);
- gpio_set_value(OVERO_GPIO_BT_NRESET, 1);
- }
-
- ret = gpio_request_one(OVERO_GPIO_USBH_CPEN, GPIOF_OUT_INIT_HIGH,
- "OVERO_GPIO_USBH_CPEN");
- if (ret == 0)
- gpio_export(OVERO_GPIO_USBH_CPEN, 0);
- else
- pr_err("could not obtain gpio for OVERO_GPIO_USBH_CPEN\n");
-}
-
-MACHINE_START(OVERO, "Gumstix Overo")
- .atag_offset = 0x100,
- .reserve = omap_reserve,
- .map_io = omap3_map_io,
- .init_early = omap35xx_init_early,
- .init_irq = omap3_init_irq,
- .init_machine = overo_init,
- .init_late = omap35xx_init_late,
- .init_time = omap3_sync32k_timer_init,
- .restart = omap3xxx_restart,
-MACHINE_END
--
2.1.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 3/3] ARM: OMAP2+: Remove legacy booting support for Beagleboards
2015-05-04 20:01 [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2 Tony Lindgren
2015-05-04 20:01 ` [PATCH 1/3] ARM: OMAP2+: Remove legacy booting support for cm-t35 Tony Lindgren
2015-05-04 20:01 ` [PATCH 2/3] ARM: OMAP2+: Remove legacy booting support for Overo Tony Lindgren
@ 2015-05-04 20:01 ` Tony Lindgren
2015-05-05 10:54 ` [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2 Arnd Bergmann
3 siblings, 0 replies; 15+ messages in thread
From: Tony Lindgren @ 2015-05-04 20:01 UTC (permalink / raw)
To: linux-arm-kernel
We've been moving all omap2+ based systems to boot in device tree only
mode for a few years now. Only omap3 has legacy booting support
remaining. Most omap3 boards already have related arch/arm/boot/*.dts*
files for booting with device tree.
This board has support for device tree based booting, and we've been
printing warnings about the legacy booting being deprecated for a
few merge cycles now. Let's attempt to remove the legacy booting
for it.
The reason for removing the legacy booting support now rather than
later is we can simply revert this patch if necessary if we run
into some unexpected issues that are not trivial to fix for the
device tree based booting.
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/Kconfig | 6 -
arch/arm/mach-omap2/Makefile | 1 -
arch/arm/mach-omap2/board-omap3beagle.c | 595 --------------------------------
3 files changed, 602 deletions(-)
delete mode 100644 arch/arm/mach-omap2/board-omap3beagle.c
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 1b8a45a..ecc04ff 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -171,12 +171,6 @@ config MACH_OMAP2_TUSB6010
depends on ARCH_OMAP2 && SOC_OMAP2420
default y if MACH_NOKIA_N8X0
-config MACH_OMAP3_BEAGLE
- bool "OMAP3 BEAGLE board"
- depends on ARCH_OMAP3
- default y
- select OMAP_PACKAGE_CBB
-
config MACH_OMAP_LDP
bool "OMAP3 LDP board"
depends on ARCH_OMAP3
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index a60e986..f1a68c6 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -242,7 +242,6 @@ obj-$(CONFIG_SOC_OMAP2420) += msdi.o
# Specific board support
obj-$(CONFIG_MACH_OMAP_GENERIC) += board-generic.o pdata-quirks.o
-obj-$(CONFIG_MACH_OMAP3_BEAGLE) += board-omap3beagle.o
obj-$(CONFIG_MACH_OMAP_LDP) += board-ldp.o
obj-$(CONFIG_MACH_OMAP3530_LV_SOM) += board-omap3logic.o
obj-$(CONFIG_MACH_OMAP3_TORPEDO) += board-omap3logic.o
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
deleted file mode 100644
index 81de1c6..0000000
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ /dev/null
@@ -1,595 +0,0 @@
-/*
- * linux/arch/arm/mach-omap2/board-omap3beagle.c
- *
- * Copyright (C) 2008 Texas Instruments
- *
- * Modified from mach-omap2/board-3430sdp.c
- *
- * Initial code: Syed Mohammed Khasim
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/delay.h>
-#include <linux/err.h>
-#include <linux/clk.h>
-#include <linux/io.h>
-#include <linux/leds.h>
-#include <linux/pwm.h>
-#include <linux/leds_pwm.h>
-#include <linux/gpio.h>
-#include <linux/input.h>
-#include <linux/gpio_keys.h>
-#include <linux/pm_opp.h>
-#include <linux/cpu.h>
-
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/mtd/nand.h>
-#include <linux/mmc/host.h>
-#include <linux/usb/phy.h>
-
-#include <linux/regulator/machine.h>
-#include <linux/i2c/twl.h>
-
-#include <asm/mach-types.h>
-#include <asm/mach/arch.h>
-#include <asm/mach/map.h>
-#include <asm/mach/flash.h>
-
-#include <video/omapdss.h>
-#include <video/omap-panel-data.h>
-#include <linux/platform_data/mtd-nand-omap2.h>
-
-#include "common.h"
-#include "omap_device.h"
-#include "gpmc.h"
-#include "soc.h"
-#include "mux.h"
-#include "hsmmc.h"
-#include "pm.h"
-#include "board-flash.h"
-#include "common-board-devices.h"
-
-#define NAND_CS 0
-
-static struct pwm_lookup pwm_lookup[] = {
- /* LEDB -> PMU_STAT */
- PWM_LOOKUP("twl-pwmled", 1, "leds_pwm", "beagleboard::pmu_stat",
- 7812500, PWM_POLARITY_NORMAL),
-};
-
-static struct led_pwm pwm_leds[] = {
- {
- .name = "beagleboard::pmu_stat",
- .max_brightness = 127,
- .pwm_period_ns = 7812500,
- },
-};
-
-static struct led_pwm_platform_data pwm_data = {
- .num_leds = ARRAY_SIZE(pwm_leds),
- .leds = pwm_leds,
-};
-
-static struct platform_device leds_pwm = {
- .name = "leds_pwm",
- .id = -1,
- .dev = {
- .platform_data = &pwm_data,
- },
-};
-
-/*
- * OMAP3 Beagle revision
- * Run time detection of Beagle revision is done by reading GPIO.
- * GPIO ID -
- * AXBX = GPIO173, GPIO172, GPIO171: 1 1 1
- * C1_3 = GPIO173, GPIO172, GPIO171: 1 1 0
- * C4 = GPIO173, GPIO172, GPIO171: 1 0 1
- * XMA/XMB = GPIO173, GPIO172, GPIO171: 0 0 0
- * XMC = GPIO173, GPIO172, GPIO171: 0 1 0
- */
-enum {
- OMAP3BEAGLE_BOARD_UNKN = 0,
- OMAP3BEAGLE_BOARD_AXBX,
- OMAP3BEAGLE_BOARD_C1_3,
- OMAP3BEAGLE_BOARD_C4,
- OMAP3BEAGLE_BOARD_XM,
- OMAP3BEAGLE_BOARD_XMC,
-};
-
-static u8 omap3_beagle_version;
-
-/*
- * Board-specific configuration
- * Defaults to BeagleBoard-xMC
- */
-static struct {
- int mmc1_gpio_wp;
- bool usb_pwr_level; /* 0 - Active Low, 1 - Active High */
- int dvi_pd_gpio;
- int usr_button_gpio;
- int mmc_caps;
-} beagle_config = {
- .mmc1_gpio_wp = -EINVAL,
- .usb_pwr_level = 0,
- .dvi_pd_gpio = -EINVAL,
- .usr_button_gpio = 4,
- .mmc_caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
-};
-
-static struct gpio omap3_beagle_rev_gpios[] __initdata = {
- { 171, GPIOF_IN, "rev_id_0" },
- { 172, GPIOF_IN, "rev_id_1" },
- { 173, GPIOF_IN, "rev_id_2" },
-};
-
-static void __init omap3_beagle_init_rev(void)
-{
- int ret;
- u16 beagle_rev = 0;
-
- omap_mux_init_gpio(171, OMAP_PIN_INPUT_PULLUP);
- omap_mux_init_gpio(172, OMAP_PIN_INPUT_PULLUP);
- omap_mux_init_gpio(173, OMAP_PIN_INPUT_PULLUP);
-
- ret = gpio_request_array(omap3_beagle_rev_gpios,
- ARRAY_SIZE(omap3_beagle_rev_gpios));
- if (ret < 0) {
- printk(KERN_ERR "Unable to get revision detection GPIO pins\n");
- omap3_beagle_version = OMAP3BEAGLE_BOARD_UNKN;
- return;
- }
-
- beagle_rev = gpio_get_value(171) | (gpio_get_value(172) << 1)
- | (gpio_get_value(173) << 2);
-
- gpio_free_array(omap3_beagle_rev_gpios,
- ARRAY_SIZE(omap3_beagle_rev_gpios));
-
- switch (beagle_rev) {
- case 7:
- printk(KERN_INFO "OMAP3 Beagle Rev: Ax/Bx\n");
- omap3_beagle_version = OMAP3BEAGLE_BOARD_AXBX;
- beagle_config.mmc1_gpio_wp = 29;
- beagle_config.dvi_pd_gpio = 170;
- beagle_config.usr_button_gpio = 7;
- break;
- case 6:
- printk(KERN_INFO "OMAP3 Beagle Rev: C1/C2/C3\n");
- omap3_beagle_version = OMAP3BEAGLE_BOARD_C1_3;
- beagle_config.mmc1_gpio_wp = 23;
- beagle_config.dvi_pd_gpio = 170;
- beagle_config.usr_button_gpio = 7;
- break;
- case 5:
- printk(KERN_INFO "OMAP3 Beagle Rev: C4\n");
- omap3_beagle_version = OMAP3BEAGLE_BOARD_C4;
- beagle_config.mmc1_gpio_wp = 23;
- beagle_config.dvi_pd_gpio = 170;
- beagle_config.usr_button_gpio = 7;
- break;
- case 0:
- printk(KERN_INFO "OMAP3 Beagle Rev: xM Ax/Bx\n");
- omap3_beagle_version = OMAP3BEAGLE_BOARD_XM;
- beagle_config.usb_pwr_level = 1;
- beagle_config.mmc_caps &= ~MMC_CAP_8_BIT_DATA;
- break;
- case 2:
- printk(KERN_INFO "OMAP3 Beagle Rev: xM C\n");
- omap3_beagle_version = OMAP3BEAGLE_BOARD_XMC;
- beagle_config.mmc_caps &= ~MMC_CAP_8_BIT_DATA;
- break;
- default:
- printk(KERN_INFO "OMAP3 Beagle Rev: unknown %hd\n", beagle_rev);
- omap3_beagle_version = OMAP3BEAGLE_BOARD_UNKN;
- }
-}
-
-static struct mtd_partition omap3beagle_nand_partitions[] = {
- /* All the partition sizes are listed in terms of NAND block size */
- {
- .name = "X-Loader",
- .offset = 0,
- .size = 4 * NAND_BLOCK_SIZE,
- .mask_flags = MTD_WRITEABLE, /* force read-only */
- },
- {
- .name = "U-Boot",
- .offset = MTDPART_OFS_APPEND, /* Offset = 0x80000 */
- .size = 15 * NAND_BLOCK_SIZE,
- .mask_flags = MTD_WRITEABLE, /* force read-only */
- },
- {
- .name = "U-Boot Env",
- .offset = MTDPART_OFS_APPEND, /* Offset = 0x260000 */
- .size = 1 * NAND_BLOCK_SIZE,
- },
- {
- .name = "Kernel",
- .offset = MTDPART_OFS_APPEND, /* Offset = 0x280000 */
- .size = 32 * NAND_BLOCK_SIZE,
- },
- {
- .name = "File System",
- .offset = MTDPART_OFS_APPEND, /* Offset = 0x680000 */
- .size = MTDPART_SIZ_FULL,
- },
-};
-
-/* DSS */
-
-static struct connector_dvi_platform_data beagle_dvi_connector_pdata = {
- .name = "dvi",
- .source = "tfp410.0",
- .i2c_bus_num = 3,
-};
-
-static struct platform_device beagle_dvi_connector_device = {
- .name = "connector-dvi",
- .id = 0,
- .dev.platform_data = &beagle_dvi_connector_pdata,
-};
-
-static struct encoder_tfp410_platform_data beagle_tfp410_pdata = {
- .name = "tfp410.0",
- .source = "dpi.0",
- .data_lines = 24,
- .power_down_gpio = -1,
-};
-
-static struct platform_device beagle_tfp410_device = {
- .name = "tfp410",
- .id = 0,
- .dev.platform_data = &beagle_tfp410_pdata,
-};
-
-static struct connector_atv_platform_data beagle_tv_pdata = {
- .name = "tv",
- .source = "venc.0",
- .connector_type = OMAP_DSS_VENC_TYPE_SVIDEO,
- .invert_polarity = false,
-};
-
-static struct platform_device beagle_tv_connector_device = {
- .name = "connector-analog-tv",
- .id = 0,
- .dev.platform_data = &beagle_tv_pdata,
-};
-
-static struct omap_dss_board_info beagle_dss_data = {
- .default_display_name = "dvi",
-};
-
-#include "sdram-micron-mt46h32m32lf-6.h"
-
-static struct omap2_hsmmc_info mmc[] = {
- {
- .mmc = 1,
- .caps = MMC_CAP_4_BIT_DATA,
- .gpio_wp = -EINVAL,
- .deferred = true,
- },
- {} /* Terminator */
-};
-
-static struct regulator_consumer_supply beagle_vmmc1_supply[] = {
- REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
-};
-
-static struct regulator_consumer_supply beagle_vsim_supply[] = {
- REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
-};
-
-static struct gpio_led gpio_leds[];
-
-static struct usbhs_phy_data phy_data[] = {
- {
- .port = 2,
- .reset_gpio = 147,
- .vcc_gpio = -1, /* updated in beagle_twl_gpio_setup */
- .vcc_polarity = 1, /* updated in beagle_twl_gpio_setup */
- },
-};
-
-static int beagle_twl_gpio_setup(struct device *dev,
- unsigned gpio, unsigned ngpio)
-{
- int r;
-
- mmc[0].gpio_wp = beagle_config.mmc1_gpio_wp;
- /* gpio + 0 is "mmc0_cd" (input/IRQ) */
- mmc[0].gpio_cd = gpio + 0;
- omap_hsmmc_late_init(mmc);
-
- /*
- * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active
- * high / others active low)
- * DVI reset GPIO is different between beagle revisions
- */
- /* Valid for all -xM revisions */
- if (cpu_is_omap3630()) {
- /*
- * gpio + 1 on Xm controls the TFP410's enable line (active low)
- * gpio + 2 control varies depending on the board rev as below:
- * P7/P8 revisions(prototype): Camera EN
- * A2+ revisions (production): LDO (DVI, serial, led blocks)
- */
- r = gpio_request_one(gpio + 1, GPIOF_OUT_INIT_LOW,
- "nDVI_PWR_EN");
- if (r)
- pr_err("%s: unable to configure nDVI_PWR_EN\n",
- __func__);
-
- beagle_config.dvi_pd_gpio = gpio + 2;
-
- } else {
- /*
- * REVISIT: need ehci-omap hooks for external VBUS
- * power switch and overcurrent detect
- */
- if (gpio_request_one(gpio + 1, GPIOF_IN, "EHCI_nOC"))
- pr_err("%s: unable to configure EHCI_nOC\n", __func__);
- }
- beagle_tfp410_pdata.power_down_gpio = beagle_config.dvi_pd_gpio;
-
- platform_device_register(&beagle_tfp410_device);
- platform_device_register(&beagle_dvi_connector_device);
- platform_device_register(&beagle_tv_connector_device);
-
- /* TWL4030_GPIO_MAX i.e. LED_GPO controls HS USB Port 2 power */
- phy_data[0].vcc_gpio = gpio + TWL4030_GPIO_MAX;
- phy_data[0].vcc_polarity = beagle_config.usb_pwr_level;
-
- usbhs_init_phys(phy_data, ARRAY_SIZE(phy_data));
- return 0;
-}
-
-static struct twl4030_gpio_platform_data beagle_gpio_data = {
- .use_leds = true,
- .pullups = BIT(1),
- .pulldowns = BIT(2) | BIT(6) | BIT(7) | BIT(8) | BIT(13)
- | BIT(15) | BIT(16) | BIT(17),
- .setup = beagle_twl_gpio_setup,
-};
-
-/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
-static struct regulator_init_data beagle_vmmc1 = {
- .constraints = {
- .min_uV = 1850000,
- .max_uV = 3150000,
- .valid_modes_mask = REGULATOR_MODE_NORMAL
- | REGULATOR_MODE_STANDBY,
- .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
- | REGULATOR_CHANGE_MODE
- | REGULATOR_CHANGE_STATUS,
- },
- .num_consumer_supplies = ARRAY_SIZE(beagle_vmmc1_supply),
- .consumer_supplies = beagle_vmmc1_supply,
-};
-
-/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */
-static struct regulator_init_data beagle_vsim = {
- .constraints = {
- .min_uV = 1800000,
- .max_uV = 3000000,
- .valid_modes_mask = REGULATOR_MODE_NORMAL
- | REGULATOR_MODE_STANDBY,
- .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
- | REGULATOR_CHANGE_MODE
- | REGULATOR_CHANGE_STATUS,
- },
- .num_consumer_supplies = ARRAY_SIZE(beagle_vsim_supply),
- .consumer_supplies = beagle_vsim_supply,
-};
-
-static struct twl4030_platform_data beagle_twldata = {
- /* platform_data for children goes here */
- .gpio = &beagle_gpio_data,
- .vmmc1 = &beagle_vmmc1,
- .vsim = &beagle_vsim,
-};
-
-static struct i2c_board_info __initdata beagle_i2c_eeprom[] = {
- {
- I2C_BOARD_INFO("eeprom", 0x50),
- },
-};
-
-static int __init omap3_beagle_i2c_init(void)
-{
- omap3_pmic_get_config(&beagle_twldata,
- TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC |
- TWL_COMMON_PDATA_AUDIO,
- TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2);
-
- beagle_twldata.vpll2->constraints.name = "VDVI";
-
- omap3_pmic_init("twl4030", &beagle_twldata);
- /* Bus 3 is attached to the DVI port where devices like the pico DLP
- * projector don't work reliably with 400kHz */
- omap_register_i2c_bus(3, 100, beagle_i2c_eeprom, ARRAY_SIZE(beagle_i2c_eeprom));
- return 0;
-}
-
-static struct gpio_led gpio_leds[] = {
- {
- .name = "beagleboard::usr0",
- .default_trigger = "heartbeat",
- .gpio = 150,
- },
- {
- .name = "beagleboard::usr1",
- .default_trigger = "mmc0",
- .gpio = 149,
- },
-};
-
-static struct gpio_led_platform_data gpio_led_info = {
- .leds = gpio_leds,
- .num_leds = ARRAY_SIZE(gpio_leds),
-};
-
-static struct platform_device leds_gpio = {
- .name = "leds-gpio",
- .id = -1,
- .dev = {
- .platform_data = &gpio_led_info,
- },
-};
-
-static struct gpio_keys_button gpio_buttons[] = {
- {
- .code = BTN_EXTRA,
- /* Dynamically assigned depending on board */
- .gpio = -EINVAL,
- .desc = "user",
- .wakeup = 1,
- },
-};
-
-static struct gpio_keys_platform_data gpio_key_info = {
- .buttons = gpio_buttons,
- .nbuttons = ARRAY_SIZE(gpio_buttons),
-};
-
-static struct platform_device keys_gpio = {
- .name = "gpio-keys",
- .id = -1,
- .dev = {
- .platform_data = &gpio_key_info,
- },
-};
-
-static struct platform_device madc_hwmon = {
- .name = "twl4030_madc_hwmon",
- .id = -1,
-};
-
-static struct platform_device *omap3_beagle_devices[] __initdata = {
- &leds_gpio,
- &keys_gpio,
- &madc_hwmon,
- &leds_pwm,
-};
-
-static struct usbhs_omap_platform_data usbhs_bdata __initdata = {
- .port_mode[1] = OMAP_EHCI_PORT_MODE_PHY,
-};
-
-#ifdef CONFIG_OMAP_MUX
-static struct omap_board_mux board_mux[] __initdata = {
- { .reg_offset = OMAP_MUX_TERMINATOR },
-};
-#endif
-
-static int __init beagle_opp_init(void)
-{
- int r = 0;
-
- if (!machine_is_omap3_beagle())
- return 0;
-
- /* Initialize the omap3 opp table if not already created. */
- r = omap3_opp_init();
- if (r < 0 && (r != -EEXIST)) {
- pr_err("%s: opp default init failed\n", __func__);
- return r;
- }
-
- /* Custom OPP enabled for all xM versions */
- if (cpu_is_omap3630()) {
- struct device *mpu_dev, *iva_dev;
-
- mpu_dev = get_cpu_device(0);
- iva_dev = omap_device_get_by_hwmod_name("iva");
-
- if (!mpu_dev || IS_ERR(iva_dev)) {
- pr_err("%s: Aiee.. no mpu/dsp devices? %p %p\n",
- __func__, mpu_dev, iva_dev);
- return -ENODEV;
- }
- /* Enable MPU 1GHz and lower opps */
- r = dev_pm_opp_enable(mpu_dev, 800000000);
- /* TODO: MPU 1GHz needs SR and ABB */
-
- /* Enable IVA 800MHz and lower opps */
- r |= dev_pm_opp_enable(iva_dev, 660000000);
- /* TODO: DSP 800MHz needs SR and ABB */
- if (r) {
- pr_err("%s: failed to enable higher opp %d\n",
- __func__, r);
- /*
- * Cleanup - disable the higher freqs - we dont care
- * about the results
- */
- dev_pm_opp_disable(mpu_dev, 800000000);
- dev_pm_opp_disable(iva_dev, 660000000);
- }
- }
- return 0;
-}
-omap_device_initcall(beagle_opp_init);
-
-static void __init omap3_beagle_init(void)
-{
- omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
- omap3_beagle_init_rev();
-
- if (gpio_is_valid(beagle_config.mmc1_gpio_wp))
- omap_mux_init_gpio(beagle_config.mmc1_gpio_wp, OMAP_PIN_INPUT);
- mmc[0].caps = beagle_config.mmc_caps;
- omap_hsmmc_init(mmc);
-
- omap3_beagle_i2c_init();
-
- gpio_buttons[0].gpio = beagle_config.usr_button_gpio;
-
- platform_add_devices(omap3_beagle_devices,
- ARRAY_SIZE(omap3_beagle_devices));
- if (gpio_is_valid(beagle_config.dvi_pd_gpio))
- omap_mux_init_gpio(beagle_config.dvi_pd_gpio, OMAP_PIN_OUTPUT);
- omap_display_init(&beagle_dss_data);
-
- omap_serial_init();
- omap_sdrc_init(mt46h32m32lf6_sdrc_params,
- mt46h32m32lf6_sdrc_params);
-
- usb_bind_phy("musb-hdrc.0.auto", 0, "twl4030_usb");
- usb_musb_init(NULL);
-
- usbhs_init(&usbhs_bdata);
-
- board_nand_init(omap3beagle_nand_partitions,
- ARRAY_SIZE(omap3beagle_nand_partitions), NAND_CS,
- NAND_BUSWIDTH_16, NULL);
- omap_twl4030_audio_init("omap3beagle", NULL);
-
- /* Ensure msecure is mux'd to be able to set the RTC. */
- omap_mux_init_signal("sys_drm_msecure", OMAP_PIN_OFF_OUTPUT_HIGH);
-
- /* Ensure SDRC pins are mux'd for self-refresh */
- omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT);
- omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT);
-
- pwm_add_table(pwm_lookup, ARRAY_SIZE(pwm_lookup));
-}
-
-MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
- /* Maintainer: Syed Mohammed Khasim - http://beagleboard.org */
- .atag_offset = 0x100,
- .reserve = omap_reserve,
- .map_io = omap3_map_io,
- .init_early = omap3_init_early,
- .init_irq = omap3_init_irq,
- .init_machine = omap3_beagle_init,
- .init_late = omap3_init_late,
- .init_time = omap3_secure_sync32k_timer_init,
- .restart = omap3xxx_restart,
-MACHINE_END
--
2.1.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2
2015-05-04 20:01 [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2 Tony Lindgren
` (2 preceding siblings ...)
2015-05-04 20:01 ` [PATCH 3/3] ARM: OMAP2+: Remove legacy booting support for Beagleboards Tony Lindgren
@ 2015-05-05 10:54 ` Arnd Bergmann
2015-05-05 14:43 ` Tony Lindgren
3 siblings, 1 reply; 15+ messages in thread
From: Arnd Bergmann @ 2015-05-05 10:54 UTC (permalink / raw)
To: linux-arm-kernel
On Monday 04 May 2015 13:01:54 Tony Lindgren wrote:
>
> For dropping the remaining omap3 legacy boot support, we still
> have the following board-*.c files:
>
> BOARD REASON NEEDED
> board-ldp.c Still used in RMKs boot test system
> board-omap3logic.c Getting a .dts file for v4.2
> board-omap3pandora.c Got a .dts file for v4.1
> board-rx51-*.c Needs /proc/atags support for user space
>
> I'm hoping we can drop those for v4.3 merge window, then keep
> the platform data around for one more merge window in case of
> reverting needed, then drop the platform data too for v4.4
> if no issues needing reverting are found.
Sounds great. Has there been a conclusion about what to do for the
rx51 /proc/atags support?
Arnd
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2
2015-05-05 10:54 ` [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2 Arnd Bergmann
@ 2015-05-05 14:43 ` Tony Lindgren
2015-05-05 14:54 ` Pali Rohár
0 siblings, 1 reply; 15+ messages in thread
From: Tony Lindgren @ 2015-05-05 14:43 UTC (permalink / raw)
To: linux-arm-kernel
* Arnd Bergmann <arnd@arndb.de> [150505 03:56]:
> On Monday 04 May 2015 13:01:54 Tony Lindgren wrote:
> >
> > For dropping the remaining omap3 legacy boot support, we still
> > have the following board-*.c files:
> >
> > BOARD REASON NEEDED
> > board-ldp.c Still used in RMKs boot test system
> > board-omap3logic.c Getting a .dts file for v4.2
> > board-omap3pandora.c Got a .dts file for v4.1
> > board-rx51-*.c Needs /proc/atags support for user space
> >
> > I'm hoping we can drop those for v4.3 merge window, then keep
> > the platform data around for one more merge window in case of
> > reverting needed, then drop the platform data too for v4.4
> > if no issues needing reverting are found.
>
> Sounds great. Has there been a conclusion about what to do for the
> rx51 /proc/atags support?
I believe we just need to enable /proc/atags also for device tree
based booting if CONFIG_ARM_ATAG_DTB_COMPAT. Pali may have more
info on that.
Then looks like Pali's two patches for showing the revision are
still pending in thread "[PATCH v2 0/2] ARM: /proc/cpuinfo: DT:
Add support for Revision":
http://www.spinics.net/lists/arm-kernel/msg401535.html
Regards,
Tony
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2
2015-05-05 14:43 ` Tony Lindgren
@ 2015-05-05 14:54 ` Pali Rohár
2015-05-05 15:06 ` Tony Lindgren
0 siblings, 1 reply; 15+ messages in thread
From: Pali Rohár @ 2015-05-05 14:54 UTC (permalink / raw)
To: linux-arm-kernel
On Tuesday 05 May 2015 07:43:08 Tony Lindgren wrote:
> * Arnd Bergmann <arnd@arndb.de> [150505 03:56]:
> > On Monday 04 May 2015 13:01:54 Tony Lindgren wrote:
> > >
> > > For dropping the remaining omap3 legacy boot support, we still
> > > have the following board-*.c files:
> > >
> > > BOARD REASON NEEDED
> > > board-ldp.c Still used in RMKs boot test system
> > > board-omap3logic.c Getting a .dts file for v4.2
> > > board-omap3pandora.c Got a .dts file for v4.1
> > > board-rx51-*.c Needs /proc/atags support for user space
> > >
> > > I'm hoping we can drop those for v4.3 merge window, then keep
> > > the platform data around for one more merge window in case of
> > > reverting needed, then drop the platform data too for v4.4
> > > if no issues needing reverting are found.
> >
> > Sounds great. Has there been a conclusion about what to do for the
> > rx51 /proc/atags support?
>
> I believe we just need to enable /proc/atags also for device tree
> based booting if CONFIG_ARM_ATAG_DTB_COMPAT. Pali may have more
> info on that.
>
> Then looks like Pali's two patches for showing the revision are
> still pending in thread "[PATCH v2 0/2] ARM: /proc/cpuinfo: DT:
> Add support for Revision":
>
> http://www.spinics.net/lists/arm-kernel/msg401535.html
>
> Regards,
>
> Tony
I think I already sent all need patches to ML. But I did not check if
you merged them or not. I did not get any new comments for them for a
while and right now I do not have time for looking at it again.
I'm against removing board-rx51*.c files before /proc/cpuinfo and
/proc/atags will be available also for DT booted machine...
Plus there were some other regression for DT booted N900 (not only /proc
files), but I do not remember them now. I sent more emails where I
wrote it. Maybe it is fixed, maybe not, just search into archive for my
emails.
I can try to find some time at the weekend (this or next) to test
4.1-rc* kernel on N900 and report what is working...
Thanks!
--
Pali Roh?r
pali.rohar at gmail.com
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2
2015-05-05 14:54 ` Pali Rohár
@ 2015-05-05 15:06 ` Tony Lindgren
2015-05-05 16:39 ` Pali Rohár
0 siblings, 1 reply; 15+ messages in thread
From: Tony Lindgren @ 2015-05-05 15:06 UTC (permalink / raw)
To: linux-arm-kernel
* Pali Roh?r <pali.rohar@gmail.com> [150505 07:55]:
> On Tuesday 05 May 2015 07:43:08 Tony Lindgren wrote:
> > * Arnd Bergmann <arnd@arndb.de> [150505 03:56]:
> > > On Monday 04 May 2015 13:01:54 Tony Lindgren wrote:
> > > >
> > > > For dropping the remaining omap3 legacy boot support, we still
> > > > have the following board-*.c files:
> > > >
> > > > BOARD REASON NEEDED
> > > > board-ldp.c Still used in RMKs boot test system
> > > > board-omap3logic.c Getting a .dts file for v4.2
> > > > board-omap3pandora.c Got a .dts file for v4.1
> > > > board-rx51-*.c Needs /proc/atags support for user space
> > > >
> > > > I'm hoping we can drop those for v4.3 merge window, then keep
> > > > the platform data around for one more merge window in case of
> > > > reverting needed, then drop the platform data too for v4.4
> > > > if no issues needing reverting are found.
> > >
> > > Sounds great. Has there been a conclusion about what to do for the
> > > rx51 /proc/atags support?
> >
> > I believe we just need to enable /proc/atags also for device tree
> > based booting if CONFIG_ARM_ATAG_DTB_COMPAT. Pali may have more
> > info on that.
> >
> > Then looks like Pali's two patches for showing the revision are
> > still pending in thread "[PATCH v2 0/2] ARM: /proc/cpuinfo: DT:
> > Add support for Revision":
> >
> > http://www.spinics.net/lists/arm-kernel/msg401535.html
>
> I think I already sent all need patches to ML. But I did not check if
> you merged them or not. I did not get any new comments for them for a
> while and right now I do not have time for looking at it again.
Oh OK, do you have link to the /proc/atags patch somewhere?
Maybe Arnd and Nico can pick them up and sort out how we should
queue them with Russell?
> I'm against removing board-rx51*.c files before /proc/cpuinfo and
> /proc/atags will be available also for DT booted machine...
I agree those should be supported also for DT based booting.
> Plus there were some other regression for DT booted N900 (not only /proc
> files), but I do not remember them now. I sent more emails where I
> wrote it. Maybe it is fixed, maybe not, just search into archive for my
> emails.
OK
> I can try to find some time at the weekend (this or next) to test
> 4.1-rc* kernel on N900 and report what is working...
Regards,
Tony
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2
2015-05-05 15:06 ` Tony Lindgren
@ 2015-05-05 16:39 ` Pali Rohár
2015-05-05 16:58 ` Nicolas Pitre
2015-05-05 17:00 ` Tony Lindgren
0 siblings, 2 replies; 15+ messages in thread
From: Pali Rohár @ 2015-05-05 16:39 UTC (permalink / raw)
To: linux-arm-kernel
On Tuesday 05 May 2015 17:06:38 Tony Lindgren wrote:
> * Pali Roh?r <pali.rohar@gmail.com> [150505 07:55]:
> > On Tuesday 05 May 2015 07:43:08 Tony Lindgren wrote:
> > > * Arnd Bergmann <arnd@arndb.de> [150505 03:56]:
> > > > On Monday 04 May 2015 13:01:54 Tony Lindgren wrote:
> > > > > For dropping the remaining omap3 legacy boot support,
> > > > > we still have the following board-*.c files:
> > > > >
> > > > > BOARD REASON NEEDED
> > > > > board-ldp.c Still used in RMKs boot test
> > > > > system board-omap3logic.c Getting a .dts file
> > > > > for v4.2 board-omap3pandora.c Got a .dts file for
> > > > > v4.1 board-rx51-*.c Needs /proc/atags
> > > > > support for user space
> > > > >
> > > > > I'm hoping we can drop those for v4.3 merge window,
> > > > > then keep the platform data around for one more merge
> > > > > window in case of reverting needed, then drop the
> > > > > platform data too for v4.4 if no issues needing
> > > > > reverting are found.
> > > >
> > > > Sounds great. Has there been a conclusion about what to
> > > > do for the rx51 /proc/atags support?
> > >
> > > I believe we just need to enable /proc/atags also for
> > > device tree based booting if CONFIG_ARM_ATAG_DTB_COMPAT.
> > > Pali may have more info on that.
> > >
> > > Then looks like Pali's two patches for showing the
> > > revision are still pending in thread "[PATCH v2 0/2] ARM:
> > > /proc/cpuinfo: DT: Add support for Revision":
> > >
> > > http://www.spinics.net/lists/arm-kernel/msg401535.html
> >
> > I think I already sent all need patches to ML. But I did not
> > check if you merged them or not. I did not get any new
> > comments for them for a while and right now I do not have
> > time for looking at it again.
>
> Oh OK, do you have link to the /proc/atags patch somewhere?
>
> Maybe Arnd and Nico can pick them up and sort out how we
> should queue them with Russell?
>
https://lkml.org/lkml/2015/1/26/648
--
Pali Roh?r
pali.rohar at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150505/47e93981/attachment.sig>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2
2015-05-05 16:39 ` Pali Rohár
@ 2015-05-05 16:58 ` Nicolas Pitre
2015-05-05 17:00 ` Tony Lindgren
1 sibling, 0 replies; 15+ messages in thread
From: Nicolas Pitre @ 2015-05-05 16:58 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, 5 May 2015, Pali Roh?r wrote:
> On Tuesday 05 May 2015 17:06:38 Tony Lindgren wrote:
> > * Pali Roh?r <pali.rohar@gmail.com> [150505 07:55]:
> > > On Tuesday 05 May 2015 07:43:08 Tony Lindgren wrote:
> > > > * Arnd Bergmann <arnd@arndb.de> [150505 03:56]:
> > > > > On Monday 04 May 2015 13:01:54 Tony Lindgren wrote:
> > > > > > For dropping the remaining omap3 legacy boot support,
> > > > > > we still have the following board-*.c files:
> > > > > >
> > > > > > BOARD REASON NEEDED
> > > > > > board-ldp.c Still used in RMKs boot test
> > > > > > system board-omap3logic.c Getting a .dts file
> > > > > > for v4.2 board-omap3pandora.c Got a .dts file for
> > > > > > v4.1 board-rx51-*.c Needs /proc/atags
> > > > > > support for user space
> > > > > >
> > > > > > I'm hoping we can drop those for v4.3 merge window,
> > > > > > then keep the platform data around for one more merge
> > > > > > window in case of reverting needed, then drop the
> > > > > > platform data too for v4.4 if no issues needing
> > > > > > reverting are found.
> > > > >
> > > > > Sounds great. Has there been a conclusion about what to
> > > > > do for the rx51 /proc/atags support?
> > > >
> > > > I believe we just need to enable /proc/atags also for
> > > > device tree based booting if CONFIG_ARM_ATAG_DTB_COMPAT.
> > > > Pali may have more info on that.
> > > >
> > > > Then looks like Pali's two patches for showing the
> > > > revision are still pending in thread "[PATCH v2 0/2] ARM:
> > > > /proc/cpuinfo: DT: Add support for Revision":
> > > >
> > > > http://www.spinics.net/lists/arm-kernel/msg401535.html
> > >
> > > I think I already sent all need patches to ML. But I did not
> > > check if you merged them or not. I did not get any new
> > > comments for them for a while and right now I do not have
> > > time for looking at it again.
> >
> > Oh OK, do you have link to the /proc/atags patch somewhere?
> >
> > Maybe Arnd and Nico can pick them up and sort out how we
> > should queue them with Russell?
> >
>
> https://lkml.org/lkml/2015/1/26/648
Rather than shoving the whole ATAGs inside DT, why not simply picking
the relevant data and convert it into the appropriate DT binding?
Nicolas
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2
2015-05-05 16:39 ` Pali Rohár
2015-05-05 16:58 ` Nicolas Pitre
@ 2015-05-05 17:00 ` Tony Lindgren
2015-05-06 8:52 ` Pali Rohár
1 sibling, 1 reply; 15+ messages in thread
From: Tony Lindgren @ 2015-05-05 17:00 UTC (permalink / raw)
To: linux-arm-kernel
* Pali Roh?r <pali.rohar@gmail.com> [150505 09:41]:
> On Tuesday 05 May 2015 17:06:38 Tony Lindgren wrote:
> > * Pali Roh?r <pali.rohar@gmail.com> [150505 07:55]:
> > > On Tuesday 05 May 2015 07:43:08 Tony Lindgren wrote:
> > > > * Arnd Bergmann <arnd@arndb.de> [150505 03:56]:
> > > > > On Monday 04 May 2015 13:01:54 Tony Lindgren wrote:
> > > > > > For dropping the remaining omap3 legacy boot support,
> > > > > > we still have the following board-*.c files:
> > > > > >
> > > > > > BOARD REASON NEEDED
> > > > > > board-ldp.c Still used in RMKs boot test
> > > > > > system board-omap3logic.c Getting a .dts file
> > > > > > for v4.2 board-omap3pandora.c Got a .dts file for
> > > > > > v4.1 board-rx51-*.c Needs /proc/atags
> > > > > > support for user space
> > > > > >
> > > > > > I'm hoping we can drop those for v4.3 merge window,
> > > > > > then keep the platform data around for one more merge
> > > > > > window in case of reverting needed, then drop the
> > > > > > platform data too for v4.4 if no issues needing
> > > > > > reverting are found.
> > > > >
> > > > > Sounds great. Has there been a conclusion about what to
> > > > > do for the rx51 /proc/atags support?
> > > >
> > > > I believe we just need to enable /proc/atags also for
> > > > device tree based booting if CONFIG_ARM_ATAG_DTB_COMPAT.
> > > > Pali may have more info on that.
> > > >
> > > > Then looks like Pali's two patches for showing the
> > > > revision are still pending in thread "[PATCH v2 0/2] ARM:
> > > > /proc/cpuinfo: DT: Add support for Revision":
> > > >
> > > > http://www.spinics.net/lists/arm-kernel/msg401535.html
> > >
> > > I think I already sent all need patches to ML. But I did not
> > > check if you merged them or not. I did not get any new
> > > comments for them for a while and right now I do not have
> > > time for looking at it again.
> >
> > Oh OK, do you have link to the /proc/atags patch somewhere?
> >
> > Maybe Arnd and Nico can pick them up and sort out how we
> > should queue them with Russell?
> >
>
> https://lkml.org/lkml/2015/1/26/648
Hmm looks like you should resend all your pending four patches
properly with the people mentioned above in Cc to the LAKML
and linux-omap.. Assuming something will happen to them when
the patches are buried into a middle of some old threads does
not work well.. Best to just follow das protokoll und whine and
follow up until the patches get merged :)
Regards,
Tony
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2
2015-05-05 17:00 ` Tony Lindgren
@ 2015-05-06 8:52 ` Pali Rohár
2015-05-06 14:42 ` Tony Lindgren
0 siblings, 1 reply; 15+ messages in thread
From: Pali Rohár @ 2015-05-06 8:52 UTC (permalink / raw)
To: linux-arm-kernel
On Tuesday 05 May 2015 10:00:21 Tony Lindgren wrote:
> * Pali Roh?r <pali.rohar@gmail.com> [150505 09:41]:
> > On Tuesday 05 May 2015 17:06:38 Tony Lindgren wrote:
> > > * Pali Roh?r <pali.rohar@gmail.com> [150505 07:55]:
> > > > On Tuesday 05 May 2015 07:43:08 Tony Lindgren wrote:
> > > > > * Arnd Bergmann <arnd@arndb.de> [150505 03:56]:
> > > > > > On Monday 04 May 2015 13:01:54 Tony Lindgren wrote:
> > > > > > > For dropping the remaining omap3 legacy boot support,
> > > > > > > we still have the following board-*.c files:
> > > > > > >
> > > > > > > BOARD REASON NEEDED
> > > > > > > board-ldp.c Still used in RMKs boot test
> > > > > > > system board-omap3logic.c Getting a .dts file
> > > > > > > for v4.2 board-omap3pandora.c Got a .dts file for
> > > > > > > v4.1 board-rx51-*.c Needs /proc/atags
> > > > > > > support for user space
> > > > > > >
> > > > > > > I'm hoping we can drop those for v4.3 merge window,
> > > > > > > then keep the platform data around for one more merge
> > > > > > > window in case of reverting needed, then drop the
> > > > > > > platform data too for v4.4 if no issues needing
> > > > > > > reverting are found.
> > > > > >
> > > > > > Sounds great. Has there been a conclusion about what to
> > > > > > do for the rx51 /proc/atags support?
> > > > >
> > > > > I believe we just need to enable /proc/atags also for
> > > > > device tree based booting if CONFIG_ARM_ATAG_DTB_COMPAT.
> > > > > Pali may have more info on that.
> > > > >
> > > > > Then looks like Pali's two patches for showing the
> > > > > revision are still pending in thread "[PATCH v2 0/2] ARM:
> > > > > /proc/cpuinfo: DT: Add support for Revision":
> > > > >
> > > > > http://www.spinics.net/lists/arm-kernel/msg401535.html
> > > >
> > > > I think I already sent all need patches to ML. But I did not
> > > > check if you merged them or not. I did not get any new
> > > > comments for them for a while and right now I do not have
> > > > time for looking at it again.
> > >
> > > Oh OK, do you have link to the /proc/atags patch somewhere?
> > >
> > > Maybe Arnd and Nico can pick them up and sort out how we
> > > should queue them with Russell?
> > >
> >
> > https://lkml.org/lkml/2015/1/26/648
>
> Hmm looks like you should resend all your pending four patches
> properly with the people mentioned above in Cc to the LAKML
> and linux-omap.. Assuming something will happen to them when
> the patches are buried into a middle of some old threads does
> not work well.. Best to just follow das protokoll und whine and
> follow up until the patches get merged :)
>
> Regards,
>
> Tony
Now I resent "ARM: /proc/cpuinfo: DT: Add support for Revision" patches
to MLs again without in-reply-to header.
Patches for /proc/atags I do not have currently in git format-patch mbox
format, so cannot resent it right now...
--
Pali Roh?r
pali.rohar at gmail.com
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2
2015-05-06 8:52 ` Pali Rohár
@ 2015-05-06 14:42 ` Tony Lindgren
2015-05-15 19:52 ` Pali Rohár
0 siblings, 1 reply; 15+ messages in thread
From: Tony Lindgren @ 2015-05-06 14:42 UTC (permalink / raw)
To: linux-arm-kernel
* Pali Roh?r <pali.rohar@gmail.com> [150506 01:53]:
> On Tuesday 05 May 2015 10:00:21 Tony Lindgren wrote:
> > * Pali Roh?r <pali.rohar@gmail.com> [150505 09:41]:
> > > On Tuesday 05 May 2015 17:06:38 Tony Lindgren wrote:
> > > > * Pali Roh?r <pali.rohar@gmail.com> [150505 07:55]:
> > > > > On Tuesday 05 May 2015 07:43:08 Tony Lindgren wrote:
> > > > > > * Arnd Bergmann <arnd@arndb.de> [150505 03:56]:
> > > > > > > On Monday 04 May 2015 13:01:54 Tony Lindgren wrote:
> > > > > > > > For dropping the remaining omap3 legacy boot support,
> > > > > > > > we still have the following board-*.c files:
> > > > > > > >
> > > > > > > > BOARD REASON NEEDED
> > > > > > > > board-ldp.c Still used in RMKs boot test
> > > > > > > > system board-omap3logic.c Getting a .dts file
> > > > > > > > for v4.2 board-omap3pandora.c Got a .dts file for
> > > > > > > > v4.1 board-rx51-*.c Needs /proc/atags
> > > > > > > > support for user space
> > > > > > > >
> > > > > > > > I'm hoping we can drop those for v4.3 merge window,
> > > > > > > > then keep the platform data around for one more merge
> > > > > > > > window in case of reverting needed, then drop the
> > > > > > > > platform data too for v4.4 if no issues needing
> > > > > > > > reverting are found.
> > > > > > >
> > > > > > > Sounds great. Has there been a conclusion about what to
> > > > > > > do for the rx51 /proc/atags support?
> > > > > >
> > > > > > I believe we just need to enable /proc/atags also for
> > > > > > device tree based booting if CONFIG_ARM_ATAG_DTB_COMPAT.
> > > > > > Pali may have more info on that.
> > > > > >
> > > > > > Then looks like Pali's two patches for showing the
> > > > > > revision are still pending in thread "[PATCH v2 0/2] ARM:
> > > > > > /proc/cpuinfo: DT: Add support for Revision":
> > > > > >
> > > > > > http://www.spinics.net/lists/arm-kernel/msg401535.html
> > > > >
> > > > > I think I already sent all need patches to ML. But I did not
> > > > > check if you merged them or not. I did not get any new
> > > > > comments for them for a while and right now I do not have
> > > > > time for looking at it again.
> > > >
> > > > Oh OK, do you have link to the /proc/atags patch somewhere?
> > > >
> > > > Maybe Arnd and Nico can pick them up and sort out how we
> > > > should queue them with Russell?
> > > >
> > >
> > > https://lkml.org/lkml/2015/1/26/648
> >
> > Hmm looks like you should resend all your pending four patches
> > properly with the people mentioned above in Cc to the LAKML
> > and linux-omap.. Assuming something will happen to them when
> > the patches are buried into a middle of some old threads does
> > not work well.. Best to just follow das protokoll und whine and
> > follow up until the patches get merged :)
> >
> > Regards,
> >
> > Tony
>
> Now I resent "ARM: /proc/cpuinfo: DT: Add support for Revision" patches
> to MLs again without in-reply-to header.
OK thanks.
> Patches for /proc/atags I do not have currently in git format-patch mbox
> format, so cannot resent it right now...
Well presumably you'll resend those once you find them then :)
Regards,
Tony
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 2/3] ARM: OMAP2+: Remove legacy booting support for Overo
2015-05-04 20:01 ` [PATCH 2/3] ARM: OMAP2+: Remove legacy booting support for Overo Tony Lindgren
@ 2015-05-06 16:14 ` Ash Charles
0 siblings, 0 replies; 15+ messages in thread
From: Ash Charles @ 2015-05-06 16:14 UTC (permalink / raw)
To: linux-arm-kernel
Thanks very much for making this clean-up Tony. It looks good to me.
Acked-by: Ash Charles <ashcharles@gmail.com>
On Mon, May 4, 2015 at 1:01 PM, Tony Lindgren <tony@atomide.com> wrote:
> We've been moving all omap2+ based systems to boot in device tree only
> mode for a few years now. Only omap3 has legacy booting support
> remaining. Most omap3 boards already have related arch/arm/boot/*.dts*
> files for booting with device tree.
>
> This board has support for device tree based booting, and we've been
> printing warnings about the legacy booting being deprecated for a
> few merge cycles now. Let's attempt to remove the legacy booting
> for it.
>
> The reason for removing the legacy booting support now rather than
> later is we can simply revert this patch if necessary if we run
> into some unexpected issues that are not trivial to fix for the
> device tree based booting.
>
> Cc: Ash Charles <ashcharles@gmail.com>
> Cc: Florian Vaussard <florian.vaussard@epfl.ch>
> Signed-off-by: Tony Lindgren <tony@atomide.com>
> ---
> arch/arm/mach-omap2/Kconfig | 6 -
> arch/arm/mach-omap2/Makefile | 1 -
> arch/arm/mach-omap2/board-overo.c | 571 --------------------------------------
> 3 files changed, 578 deletions(-)
> delete mode 100644 arch/arm/mach-omap2/board-overo.c
>
> diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
> index 8b3aa4c..1b8a45a 100644
> --- a/arch/arm/mach-omap2/Kconfig
> +++ b/arch/arm/mach-omap2/Kconfig
> @@ -203,12 +203,6 @@ config MACH_OMAP3_TORPEDO
> for full description please see the products webpage at
> http://www.logicpd.com/products/development-kits/zoom-omap35x-torpedo-development-kit
>
> -config MACH_OVERO
> - bool "Gumstix Overo board"
> - depends on ARCH_OMAP3
> - default y
> - select OMAP_PACKAGE_CBB
> -
> config MACH_OMAP3517EVM
> bool "OMAP3517/ AM3517 EVM board"
> depends on ARCH_OMAP3
> diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
> index ff634a1..a60e986 100644
> --- a/arch/arm/mach-omap2/Makefile
> +++ b/arch/arm/mach-omap2/Makefile
> @@ -246,7 +246,6 @@ obj-$(CONFIG_MACH_OMAP3_BEAGLE) += board-omap3beagle.o
> obj-$(CONFIG_MACH_OMAP_LDP) += board-ldp.o
> obj-$(CONFIG_MACH_OMAP3530_LV_SOM) += board-omap3logic.o
> obj-$(CONFIG_MACH_OMAP3_TORPEDO) += board-omap3logic.o
> -obj-$(CONFIG_MACH_OVERO) += board-overo.o
> obj-$(CONFIG_MACH_OMAP3_PANDORA) += board-omap3pandora.o
> obj-$(CONFIG_MACH_NOKIA_N8X0) += board-n8x0.o
> obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51.o sdram-nokia.o
> diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
> deleted file mode 100644
> index 2dae6cc..0000000
> --- a/arch/arm/mach-omap2/board-overo.c
> +++ /dev/null
> @@ -1,571 +0,0 @@
> -/*
> - * board-overo.c (Gumstix Overo)
> - *
> - * Initial code: Steve Sakoman <steve@sakoman.com>
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms of the GNU General Public License
> - * version 2 as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful, but
> - * WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; if not, write to the Free Software
> - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> - * 02110-1301 USA
> - *
> - */
> -
> -#include <linux/clk.h>
> -#include <linux/delay.h>
> -#include <linux/err.h>
> -#include <linux/init.h>
> -#include <linux/io.h>
> -#include <linux/gpio.h>
> -#include <linux/kernel.h>
> -#include <linux/platform_device.h>
> -#include <linux/i2c/twl.h>
> -#include <linux/regulator/machine.h>
> -#include <linux/regulator/fixed.h>
> -#include <linux/spi/spi.h>
> -
> -#include <linux/mtd/mtd.h>
> -#include <linux/mtd/nand.h>
> -#include <linux/mtd/partitions.h>
> -#include <linux/mmc/host.h>
> -#include <linux/usb/phy.h>
> -
> -#include <linux/platform_data/mtd-nand-omap2.h>
> -#include <linux/platform_data/spi-omap2-mcspi.h>
> -
> -#include <asm/mach-types.h>
> -#include <asm/mach/arch.h>
> -#include <asm/mach/flash.h>
> -#include <asm/mach/map.h>
> -
> -#include <video/omapdss.h>
> -#include <video/omap-panel-data.h>
> -
> -#include "common.h"
> -#include "mux.h"
> -#include "sdram-micron-mt46h32m32lf-6.h"
> -#include "gpmc.h"
> -#include "hsmmc.h"
> -#include "board-flash.h"
> -#include "common-board-devices.h"
> -
> -#define NAND_CS 0
> -
> -#define OVERO_GPIO_BT_XGATE 15
> -#define OVERO_GPIO_W2W_NRESET 16
> -#define OVERO_GPIO_PENDOWN 114
> -#define OVERO_GPIO_BT_NRESET 164
> -#define OVERO_GPIO_USBH_CPEN 168
> -#define OVERO_GPIO_USBH_NRESET 183
> -
> -#define OVERO_SMSC911X_CS 5
> -#define OVERO_SMSC911X_GPIO 176
> -#define OVERO_SMSC911X_NRESET 64
> -#define OVERO_SMSC911X2_CS 4
> -#define OVERO_SMSC911X2_GPIO 65
> -
> -/* whether to register LCD35 instead of LCD43 */
> -static bool overo_use_lcd35;
> -
> -#if defined(CONFIG_TOUCHSCREEN_ADS7846) || \
> - defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
> -
> -/* fixed regulator for ads7846 */
> -static struct regulator_consumer_supply ads7846_supply[] = {
> - REGULATOR_SUPPLY("vcc", "spi1.0"),
> -};
> -
> -static struct regulator_init_data vads7846_regulator = {
> - .constraints = {
> - .valid_ops_mask = REGULATOR_CHANGE_STATUS,
> - },
> - .num_consumer_supplies = ARRAY_SIZE(ads7846_supply),
> - .consumer_supplies = ads7846_supply,
> -};
> -
> -static struct fixed_voltage_config vads7846 = {
> - .supply_name = "vads7846",
> - .microvolts = 3300000, /* 3.3V */
> - .gpio = -EINVAL,
> - .startup_delay = 0,
> - .init_data = &vads7846_regulator,
> -};
> -
> -static struct platform_device vads7846_device = {
> - .name = "reg-fixed-voltage",
> - .id = 1,
> - .dev = {
> - .platform_data = &vads7846,
> - },
> -};
> -
> -static void __init overo_ads7846_init(void)
> -{
> - omap_ads7846_init(1, OVERO_GPIO_PENDOWN, 0, NULL);
> - platform_device_register(&vads7846_device);
> -}
> -
> -#else
> -static inline void __init overo_ads7846_init(void) { return; }
> -#endif
> -
> -#if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE)
> -
> -#include <linux/smsc911x.h>
> -#include "gpmc-smsc911x.h"
> -
> -static struct omap_smsc911x_platform_data smsc911x_cfg = {
> - .id = 0,
> - .cs = OVERO_SMSC911X_CS,
> - .gpio_irq = OVERO_SMSC911X_GPIO,
> - .gpio_reset = OVERO_SMSC911X_NRESET,
> - .flags = SMSC911X_USE_32BIT,
> -};
> -
> -static struct omap_smsc911x_platform_data smsc911x2_cfg = {
> - .id = 1,
> - .cs = OVERO_SMSC911X2_CS,
> - .gpio_irq = OVERO_SMSC911X2_GPIO,
> - .gpio_reset = -EINVAL,
> - .flags = SMSC911X_USE_32BIT,
> -};
> -
> -static void __init overo_init_smsc911x(void)
> -{
> - gpmc_smsc911x_init(&smsc911x_cfg);
> - gpmc_smsc911x_init(&smsc911x2_cfg);
> -}
> -
> -#else
> -static inline void __init overo_init_smsc911x(void) { return; }
> -#endif
> -
> -/* DSS */
> -#define OVERO_GPIO_LCD_EN 144
> -#define OVERO_GPIO_LCD_BL 145
> -
> -static struct connector_atv_platform_data overo_tv_pdata = {
> - .name = "tv",
> - .source = "venc.0",
> - .connector_type = OMAP_DSS_VENC_TYPE_SVIDEO,
> - .invert_polarity = false,
> -};
> -
> -static struct platform_device overo_tv_connector_device = {
> - .name = "connector-analog-tv",
> - .id = 0,
> - .dev.platform_data = &overo_tv_pdata,
> -};
> -
> -static const struct display_timing overo_lcd43_videomode = {
> - .pixelclock = { 0, 9200000, 0 },
> -
> - .hactive = { 0, 480, 0 },
> - .hfront_porch = { 0, 8, 0 },
> - .hback_porch = { 0, 4, 0 },
> - .hsync_len = { 0, 41, 0 },
> -
> - .vactive = { 0, 272, 0 },
> - .vfront_porch = { 0, 4, 0 },
> - .vback_porch = { 0, 2, 0 },
> - .vsync_len = { 0, 10, 0 },
> -
> - .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
> - DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
> -};
> -
> -static struct panel_dpi_platform_data overo_lcd43_pdata = {
> - .name = "lcd43",
> - .source = "dpi.0",
> -
> - .data_lines = 24,
> -
> - .display_timing = &overo_lcd43_videomode,
> -
> - .enable_gpio = OVERO_GPIO_LCD_EN,
> - .backlight_gpio = OVERO_GPIO_LCD_BL,
> -};
> -
> -static struct platform_device overo_lcd43_device = {
> - .name = "panel-dpi",
> - .id = 0,
> - .dev.platform_data = &overo_lcd43_pdata,
> -};
> -
> -static struct connector_dvi_platform_data overo_dvi_connector_pdata = {
> - .name = "dvi",
> - .source = "tfp410.0",
> - .i2c_bus_num = 3,
> -};
> -
> -static struct platform_device overo_dvi_connector_device = {
> - .name = "connector-dvi",
> - .id = 0,
> - .dev.platform_data = &overo_dvi_connector_pdata,
> -};
> -
> -static struct encoder_tfp410_platform_data overo_tfp410_pdata = {
> - .name = "tfp410.0",
> - .source = "dpi.0",
> - .data_lines = 24,
> - .power_down_gpio = -1,
> -};
> -
> -static struct platform_device overo_tfp410_device = {
> - .name = "tfp410",
> - .id = 0,
> - .dev.platform_data = &overo_tfp410_pdata,
> -};
> -
> -static struct omap_dss_board_info overo_dss_data = {
> - .default_display_name = "lcd43",
> -};
> -
> -static void __init overo_display_init(void)
> -{
> - omap_display_init(&overo_dss_data);
> -
> - if (!overo_use_lcd35)
> - platform_device_register(&overo_lcd43_device);
> - platform_device_register(&overo_tfp410_device);
> - platform_device_register(&overo_dvi_connector_device);
> - platform_device_register(&overo_tv_connector_device);
> -}
> -
> -static struct mtd_partition overo_nand_partitions[] = {
> - {
> - .name = "xloader",
> - .offset = 0, /* Offset = 0x00000 */
> - .size = 4 * NAND_BLOCK_SIZE,
> - .mask_flags = MTD_WRITEABLE
> - },
> - {
> - .name = "uboot",
> - .offset = MTDPART_OFS_APPEND, /* Offset = 0x80000 */
> - .size = 14 * NAND_BLOCK_SIZE,
> - },
> - {
> - .name = "uboot environment",
> - .offset = MTDPART_OFS_APPEND, /* Offset = 0x240000 */
> - .size = 2 * NAND_BLOCK_SIZE,
> - },
> - {
> - .name = "linux",
> - .offset = MTDPART_OFS_APPEND, /* Offset = 0x280000 */
> - .size = 32 * NAND_BLOCK_SIZE,
> - },
> - {
> - .name = "rootfs",
> - .offset = MTDPART_OFS_APPEND, /* Offset = 0x680000 */
> - .size = MTDPART_SIZ_FULL,
> - },
> -};
> -
> -static struct omap2_hsmmc_info mmc[] = {
> - {
> - .mmc = 1,
> - .caps = MMC_CAP_4_BIT_DATA,
> - .gpio_cd = -EINVAL,
> - .gpio_wp = -EINVAL,
> - },
> - {
> - .mmc = 2,
> - .caps = MMC_CAP_4_BIT_DATA,
> - .gpio_cd = -EINVAL,
> - .gpio_wp = -EINVAL,
> - .transceiver = true,
> - .ocr_mask = 0x00100000, /* 3.3V */
> - },
> - {} /* Terminator */
> -};
> -
> -static struct regulator_consumer_supply overo_vmmc1_supply[] = {
> - REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
> -};
> -
> -#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
> -#include <linux/leds.h>
> -
> -static struct gpio_led gpio_leds[] = {
> - {
> - .name = "overo:red:gpio21",
> - .default_trigger = "heartbeat",
> - .gpio = 21,
> - .active_low = true,
> - },
> - {
> - .name = "overo:blue:gpio22",
> - .default_trigger = "none",
> - .gpio = 22,
> - .active_low = true,
> - },
> - {
> - .name = "overo:blue:COM",
> - .default_trigger = "mmc0",
> - .gpio = -EINVAL, /* gets replaced */
> - .active_low = true,
> - },
> -};
> -
> -static struct gpio_led_platform_data gpio_leds_pdata = {
> - .leds = gpio_leds,
> - .num_leds = ARRAY_SIZE(gpio_leds),
> -};
> -
> -static struct platform_device gpio_leds_device = {
> - .name = "leds-gpio",
> - .id = -1,
> - .dev = {
> - .platform_data = &gpio_leds_pdata,
> - },
> -};
> -
> -static void __init overo_init_led(void)
> -{
> - platform_device_register(&gpio_leds_device);
> -}
> -
> -#else
> -static inline void __init overo_init_led(void) { return; }
> -#endif
> -
> -#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
> -#include <linux/input.h>
> -#include <linux/gpio_keys.h>
> -
> -static struct gpio_keys_button gpio_buttons[] = {
> - {
> - .code = BTN_0,
> - .gpio = 23,
> - .desc = "button0",
> - .wakeup = 1,
> - },
> - {
> - .code = BTN_1,
> - .gpio = 14,
> - .desc = "button1",
> - .wakeup = 1,
> - },
> -};
> -
> -static struct gpio_keys_platform_data gpio_keys_pdata = {
> - .buttons = gpio_buttons,
> - .nbuttons = ARRAY_SIZE(gpio_buttons),
> -};
> -
> -static struct platform_device gpio_keys_device = {
> - .name = "gpio-keys",
> - .id = -1,
> - .dev = {
> - .platform_data = &gpio_keys_pdata,
> - },
> -};
> -
> -static void __init overo_init_keys(void)
> -{
> - platform_device_register(&gpio_keys_device);
> -}
> -
> -#else
> -static inline void __init overo_init_keys(void) { return; }
> -#endif
> -
> -static int overo_twl_gpio_setup(struct device *dev,
> - unsigned gpio, unsigned ngpio)
> -{
> -#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
> - /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
> - gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
> -#endif
> -
> - return 0;
> -}
> -
> -static struct twl4030_gpio_platform_data overo_gpio_data = {
> - .use_leds = true,
> - .setup = overo_twl_gpio_setup,
> -};
> -
> -static struct regulator_init_data overo_vmmc1 = {
> - .constraints = {
> - .min_uV = 1850000,
> - .max_uV = 3150000,
> - .valid_modes_mask = REGULATOR_MODE_NORMAL
> - | REGULATOR_MODE_STANDBY,
> - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
> - | REGULATOR_CHANGE_MODE
> - | REGULATOR_CHANGE_STATUS,
> - },
> - .num_consumer_supplies = ARRAY_SIZE(overo_vmmc1_supply),
> - .consumer_supplies = overo_vmmc1_supply,
> -};
> -
> -static struct twl4030_platform_data overo_twldata = {
> - .gpio = &overo_gpio_data,
> - .vmmc1 = &overo_vmmc1,
> -};
> -
> -static int __init overo_i2c_init(void)
> -{
> - omap3_pmic_get_config(&overo_twldata,
> - TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO,
> - TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2);
> -
> - overo_twldata.vpll2->constraints.name = "VDVI";
> -
> - omap3_pmic_init("tps65950", &overo_twldata);
> - /* i2c2 pins are used for gpio */
> - omap_register_i2c_bus(3, 400, NULL, 0);
> - return 0;
> -}
> -
> -static struct panel_lb035q02_platform_data overo_lcd35_pdata = {
> - .name = "lcd35",
> - .source = "dpi.0",
> -
> - .data_lines = 24,
> -
> - .enable_gpio = OVERO_GPIO_LCD_EN,
> - .backlight_gpio = OVERO_GPIO_LCD_BL,
> -};
> -
> -/*
> - * NOTE: We need to add either the lgphilips panel, or the lcd43 panel. The
> - * selection is done based on the overo_use_lcd35 field. If new SPI
> - * devices are added here, extra work is needed to make only the lgphilips panel
> - * affected by the overo_use_lcd35 field.
> - */
> -static struct spi_board_info overo_spi_board_info[] __initdata = {
> - {
> - .modalias = "panel_lgphilips_lb035q02",
> - .bus_num = 1,
> - .chip_select = 1,
> - .max_speed_hz = 500000,
> - .mode = SPI_MODE_3,
> - .platform_data = &overo_lcd35_pdata,
> - },
> -};
> -
> -static int __init overo_spi_init(void)
> -{
> - overo_ads7846_init();
> -
> - if (overo_use_lcd35) {
> - spi_register_board_info(overo_spi_board_info,
> - ARRAY_SIZE(overo_spi_board_info));
> - }
> - return 0;
> -}
> -
> -static struct usbhs_phy_data phy_data[] __initdata = {
> - {
> - .port = 2,
> - .reset_gpio = OVERO_GPIO_USBH_NRESET,
> - .vcc_gpio = -EINVAL,
> - },
> -};
> -
> -static struct usbhs_omap_platform_data usbhs_bdata __initdata = {
> - .port_mode[1] = OMAP_EHCI_PORT_MODE_PHY,
> -};
> -
> -#ifdef CONFIG_OMAP_MUX
> -static struct omap_board_mux board_mux[] __initdata = {
> - { .reg_offset = OMAP_MUX_TERMINATOR },
> -};
> -#endif
> -
> -static struct gpio overo_bt_gpios[] __initdata = {
> - { OVERO_GPIO_BT_XGATE, GPIOF_OUT_INIT_LOW, "lcd enable" },
> - { OVERO_GPIO_BT_NRESET, GPIOF_OUT_INIT_HIGH, "lcd bl enable" },
> -};
> -
> -static struct regulator_consumer_supply dummy_supplies[] = {
> - REGULATOR_SUPPLY("vddvario", "smsc911x.0"),
> - REGULATOR_SUPPLY("vdd33a", "smsc911x.0"),
> - REGULATOR_SUPPLY("vddvario", "smsc911x.1"),
> - REGULATOR_SUPPLY("vdd33a", "smsc911x.1"),
> -};
> -
> -static void __init overo_init(void)
> -{
> - int ret;
> -
> - if (strstr(boot_command_line, "omapdss.def_disp=lcd35"))
> - overo_use_lcd35 = true;
> -
> - regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
> - omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
> - overo_i2c_init();
> - omap_hsmmc_init(mmc);
> - omap_serial_init();
> - omap_sdrc_init(mt46h32m32lf6_sdrc_params,
> - mt46h32m32lf6_sdrc_params);
> - board_nand_init(overo_nand_partitions,
> - ARRAY_SIZE(overo_nand_partitions), NAND_CS, 0, NULL);
> - usb_bind_phy("musb-hdrc.0.auto", 0, "twl4030_usb");
> - usb_musb_init(NULL);
> -
> - usbhs_init_phys(phy_data, ARRAY_SIZE(phy_data));
> - usbhs_init(&usbhs_bdata);
> - overo_spi_init();
> - overo_init_smsc911x();
> - overo_init_led();
> - overo_init_keys();
> - omap_twl4030_audio_init("overo", NULL);
> -
> - overo_display_init();
> -
> - /* Ensure SDRC pins are mux'd for self-refresh */
> - omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT);
> - omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT);
> -
> - ret = gpio_request_one(OVERO_GPIO_W2W_NRESET, GPIOF_OUT_INIT_HIGH,
> - "OVERO_GPIO_W2W_NRESET");
> - if (ret == 0) {
> - gpio_export(OVERO_GPIO_W2W_NRESET, 0);
> - gpio_set_value(OVERO_GPIO_W2W_NRESET, 0);
> - udelay(10);
> - gpio_set_value(OVERO_GPIO_W2W_NRESET, 1);
> - } else {
> - pr_err("could not obtain gpio for OVERO_GPIO_W2W_NRESET\n");
> - }
> -
> - ret = gpio_request_array(overo_bt_gpios, ARRAY_SIZE(overo_bt_gpios));
> - if (ret) {
> - pr_err("%s: could not obtain BT gpios\n", __func__);
> - } else {
> - gpio_export(OVERO_GPIO_BT_XGATE, 0);
> - gpio_export(OVERO_GPIO_BT_NRESET, 0);
> - gpio_set_value(OVERO_GPIO_BT_NRESET, 0);
> - mdelay(6);
> - gpio_set_value(OVERO_GPIO_BT_NRESET, 1);
> - }
> -
> - ret = gpio_request_one(OVERO_GPIO_USBH_CPEN, GPIOF_OUT_INIT_HIGH,
> - "OVERO_GPIO_USBH_CPEN");
> - if (ret == 0)
> - gpio_export(OVERO_GPIO_USBH_CPEN, 0);
> - else
> - pr_err("could not obtain gpio for OVERO_GPIO_USBH_CPEN\n");
> -}
> -
> -MACHINE_START(OVERO, "Gumstix Overo")
> - .atag_offset = 0x100,
> - .reserve = omap_reserve,
> - .map_io = omap3_map_io,
> - .init_early = omap35xx_init_early,
> - .init_irq = omap3_init_irq,
> - .init_machine = overo_init,
> - .init_late = omap35xx_init_late,
> - .init_time = omap3_sync32k_timer_init,
> - .restart = omap3xxx_restart,
> -MACHINE_END
> --
> 2.1.4
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2
2015-05-06 14:42 ` Tony Lindgren
@ 2015-05-15 19:52 ` Pali Rohár
0 siblings, 0 replies; 15+ messages in thread
From: Pali Rohár @ 2015-05-15 19:52 UTC (permalink / raw)
To: linux-arm-kernel
On Wednesday 06 May 2015 16:42:39 Tony Lindgren wrote:
> * Pali Roh?r <pali.rohar@gmail.com> [150506 01:53]:
> > On Tuesday 05 May 2015 10:00:21 Tony Lindgren wrote:
> > > * Pali Roh?r <pali.rohar@gmail.com> [150505 09:41]:
> > > > On Tuesday 05 May 2015 17:06:38 Tony Lindgren wrote:
> > > > > * Pali Roh?r <pali.rohar@gmail.com> [150505 07:55]:
> > > > > > On Tuesday 05 May 2015 07:43:08 Tony Lindgren wrote:
> > > > > > > * Arnd Bergmann <arnd@arndb.de> [150505 03:56]:
> > > > > > > > On Monday 04 May 2015 13:01:54 Tony Lindgren wrote:
> > > > > > > > > For dropping the remaining omap3 legacy boot support,
> > > > > > > > > we still have the following board-*.c files:
> > > > > > > > >
> > > > > > > > > BOARD REASON NEEDED
> > > > > > > > > board-ldp.c Still used in RMKs boot test
> > > > > > > > > system board-omap3logic.c Getting a .dts file
> > > > > > > > > for v4.2 board-omap3pandora.c Got a .dts file for
> > > > > > > > > v4.1 board-rx51-*.c Needs /proc/atags
> > > > > > > > > support for user space
> > > > > > > > >
> > > > > > > > > I'm hoping we can drop those for v4.3 merge window,
> > > > > > > > > then keep the platform data around for one more merge
> > > > > > > > > window in case of reverting needed, then drop the
> > > > > > > > > platform data too for v4.4 if no issues needing
> > > > > > > > > reverting are found.
> > > > > > > >
> > > > > > > > Sounds great. Has there been a conclusion about what to
> > > > > > > > do for the rx51 /proc/atags support?
> > > > > > >
> > > > > > > I believe we just need to enable /proc/atags also for
> > > > > > > device tree based booting if CONFIG_ARM_ATAG_DTB_COMPAT.
> > > > > > > Pali may have more info on that.
> > > > > > >
> > > > > > > Then looks like Pali's two patches for showing the
> > > > > > > revision are still pending in thread "[PATCH v2 0/2] ARM:
> > > > > > > /proc/cpuinfo: DT: Add support for Revision":
> > > > > > >
> > > > > > > http://www.spinics.net/lists/arm-kernel/msg401535.html
> > > > > >
> > > > > > I think I already sent all need patches to ML. But I did
> > > > > > not check if you merged them or not. I did not get any new
> > > > > > comments for them for a while and right now I do not have
> > > > > > time for looking at it again.
> > > > >
> > > > > Oh OK, do you have link to the /proc/atags patch somewhere?
> > > > >
> > > > > Maybe Arnd and Nico can pick them up and sort out how we
> > > > > should queue them with Russell?
> > > >
> > > > https://lkml.org/lkml/2015/1/26/648
> > >
> > > Hmm looks like you should resend all your pending four patches
> > > properly with the people mentioned above in Cc to the LAKML
> > > and linux-omap.. Assuming something will happen to them when
> > > the patches are buried into a middle of some old threads does
> > > not work well.. Best to just follow das protokoll und whine and
> > > follow up until the patches get merged :)
> > >
> > > Regards,
> > >
> > > Tony
> >
> > Now I resent "ARM: /proc/cpuinfo: DT: Add support for Revision"
> > patches to MLs again without in-reply-to header.
>
> OK thanks.
>
> > Patches for /proc/atags I do not have currently in git format-patch
> > mbox format, so cannot resent it right now...
>
> Well presumably you'll resend those once you find them then :)
>
> Regards,
>
> Tony
Now I sent them. Now you (or anybody else) can review all 4 patches :-)
--
Pali Roh?r
pali.rohar at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150515/d9fa3d0d/attachment.sig>
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2015-05-15 19:52 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-04 20:01 [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2 Tony Lindgren
2015-05-04 20:01 ` [PATCH 1/3] ARM: OMAP2+: Remove legacy booting support for cm-t35 Tony Lindgren
2015-05-04 20:01 ` [PATCH 2/3] ARM: OMAP2+: Remove legacy booting support for Overo Tony Lindgren
2015-05-06 16:14 ` Ash Charles
2015-05-04 20:01 ` [PATCH 3/3] ARM: OMAP2+: Remove legacy booting support for Beagleboards Tony Lindgren
2015-05-05 10:54 ` [PATCH 0/3] Drop more omap3 legacy board-*.c files for v4.2 Arnd Bergmann
2015-05-05 14:43 ` Tony Lindgren
2015-05-05 14:54 ` Pali Rohár
2015-05-05 15:06 ` Tony Lindgren
2015-05-05 16:39 ` Pali Rohár
2015-05-05 16:58 ` Nicolas Pitre
2015-05-05 17:00 ` Tony Lindgren
2015-05-06 8:52 ` Pali Rohár
2015-05-06 14:42 ` Tony Lindgren
2015-05-15 19:52 ` Pali Rohár
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).