Merge tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC cleanups from Arnd Bergmann: "The cleanups for v4.9 are a little larger that usual, but thankfully that is almost exclusively due to removing a significant number of files that have become obsolete after the still ongoing conversion of old board files to devicetree. - for mach-omap2, which is still the largest platform in arch/arm/, the conversion to DT is finally complete after the Nokia N900 is now fully supported there, along with the omap3 LDP, and we can remove those two board files. If no regressions are found, another large cleanup for the platform will happen as a follow-up, removing dead code and restructuring the platform based on being DT-only. - In mach-imx, similar work is ongoing, but has not come that far. This time, we remove the obsolete board file for the i.MX1 generation, which like i.MX25, i.MX5, i.MX6, and i.MX7 is now DT-only. The remaining board files are for i.MX2 and i.MX3 machines based on old ARM926 or ARM1136 cores that should work with DT in principle. - realview has just been converted from board files to DT, and a lot of code gets removed in the process. This is the last ARM/Keil/Versatile derived platform that was still using board files, the other ones being integrator, versatile and vexpress. We can probably merge the remaining code into a single directory in the near future. - clps711x had completed the conversion in v4.8, but we accidentally left the files in place that should have been deleted then" * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (21 commits) ARM: select PCI_DOMAINS config from ARCH_MULTIPLATFORM ARM: stop *MIGHT_HAVE_PCI* config from being selected redundantly ARM: imx: (trivial) fix typo and grammar ARM: clps711x: remove extraneous files ARM: imx: use IS_ENABLED() instead of checking for built-in or module ARM: OMAP2+: use IS_ENABLED() instead of checking for built-in or module ARM: OMAP1: use IS_ENABLED() instead of checking for built-in or module ARM: imx: remove platform-mxc_rnga ARM: realview: imply device tree boot ARM: realview: no need to select SMP_ON_UP explicitly ARM: realview: delete the RealView board files ARM: imx: no need to select SMP_ON_UP explicitly ARM: i.MX: Move SOC_IMX1 into 'Device tree only' ARM: i.MX: Remove i.MX1 non-DT support ARM: i.MX: Remove i.MX1 Synertronixx SCB9328 board support ARM: i.MX: Remove i.MX1 Armadeus APF9328 board support ARM: mxs: remove obsolete startup code for TX28 ARM: i.MX31 iomux: remove duplicates with alternate name ARM: i.MX31 iomux: remove plain duplicates ARM: OMAP2+: Drop legacy board file for LDP ...
This commit is contained in:
@@ -192,12 +192,6 @@ config MACH_OMAP2_TUSB6010
|
||||
depends on ARCH_OMAP2 && SOC_OMAP2420
|
||||
default y if MACH_NOKIA_N8X0
|
||||
|
||||
config MACH_OMAP_LDP
|
||||
bool "OMAP3 LDP board"
|
||||
depends on ARCH_OMAP3
|
||||
default y
|
||||
select OMAP_PACKAGE_CBB
|
||||
|
||||
config MACH_OMAP3517EVM
|
||||
bool "OMAP3517/ AM3517 EVM board"
|
||||
depends on ARCH_OMAP3
|
||||
@@ -222,12 +216,6 @@ config MACH_NOKIA_N8X0
|
||||
select MACH_NOKIA_N810
|
||||
select MACH_NOKIA_N810_WIMAX
|
||||
|
||||
config MACH_NOKIA_RX51
|
||||
bool "Nokia N900 (RX-51) phone"
|
||||
depends on ARCH_OMAP3
|
||||
default y
|
||||
select OMAP_PACKAGE_CBB
|
||||
|
||||
config OMAP3_SDRC_AC_TIMING
|
||||
bool "Enable SDRC AC timing register changes"
|
||||
depends on ARCH_OMAP3
|
||||
|
@@ -231,11 +231,7 @@ obj-$(CONFIG_SOC_OMAP2420) += msdi.o
|
||||
|
||||
# Specific board support
|
||||
obj-$(CONFIG_MACH_OMAP_GENERIC) += board-generic.o pdata-quirks.o
|
||||
obj-$(CONFIG_MACH_OMAP_LDP) += board-ldp.o
|
||||
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
|
||||
|
||||
# Platform specific device init code
|
||||
|
||||
|
@@ -81,8 +81,7 @@ __init board_nor_init(struct mtd_partition *nor_parts, u8 nr_parts, u8 cs)
|
||||
pr_err("Unable to register NOR device\n");
|
||||
}
|
||||
|
||||
#if defined(CONFIG_MTD_ONENAND_OMAP2) || \
|
||||
defined(CONFIG_MTD_ONENAND_OMAP2_MODULE)
|
||||
#if IS_ENABLED(CONFIG_MTD_ONENAND_OMAP2)
|
||||
static struct omap_onenand_platform_data board_onenand_data = {
|
||||
.dma_channel = -1, /* disable DMA in OMAP OneNAND driver */
|
||||
};
|
||||
@@ -97,10 +96,9 @@ __init board_onenand_init(struct mtd_partition *onenand_parts,
|
||||
|
||||
gpmc_onenand_init(&board_onenand_data);
|
||||
}
|
||||
#endif /* CONFIG_MTD_ONENAND_OMAP2 || CONFIG_MTD_ONENAND_OMAP2_MODULE */
|
||||
#endif /* IS_ENABLED(CONFIG_MTD_ONENAND_OMAP2) */
|
||||
|
||||
#if defined(CONFIG_MTD_NAND_OMAP2) || \
|
||||
defined(CONFIG_MTD_NAND_OMAP2_MODULE)
|
||||
#if IS_ENABLED(CONFIG_MTD_NAND_OMAP2)
|
||||
|
||||
/* Note that all values in this struct are in nanoseconds */
|
||||
struct gpmc_timings nand_default_timings[1] = {
|
||||
@@ -144,7 +142,7 @@ __init board_nand_init(struct mtd_partition *nand_parts, u8 nr_parts, u8 cs,
|
||||
board_nand_data.ecc_opt = OMAP_ECC_HAM1_CODE_SW;
|
||||
gpmc_nand_init(&board_nand_data, gpmc_t);
|
||||
}
|
||||
#endif /* CONFIG_MTD_NAND_OMAP2 || CONFIG_MTD_NAND_OMAP2_MODULE */
|
||||
#endif /* IS_ENABLED(CONFIG_MTD_NAND_OMAP2) */
|
||||
|
||||
/**
|
||||
* get_gpmc0_type - Reads the FPGA DIP_SWITCH_INPUT_REGISTER2 to get
|
||||
|
@@ -23,10 +23,7 @@ struct flash_partitions {
|
||||
int nr_parts;
|
||||
};
|
||||
|
||||
#if defined(CONFIG_MTD_NAND_OMAP2) || \
|
||||
defined(CONFIG_MTD_NAND_OMAP2_MODULE) || \
|
||||
defined(CONFIG_MTD_ONENAND_OMAP2) || \
|
||||
defined(CONFIG_MTD_ONENAND_OMAP2_MODULE)
|
||||
#if IS_ENABLED(CONFIG_MTD_NAND_OMAP2) || IS_ENABLED(CONFIG_MTD_ONENAND_OMAP2)
|
||||
extern void board_flash_init(struct flash_partitions [],
|
||||
char chip_sel[][GPMC_CS_NUM], int nand_type);
|
||||
#else
|
||||
@@ -36,8 +33,7 @@ static inline void board_flash_init(struct flash_partitions part[],
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_MTD_NAND_OMAP2) || \
|
||||
defined(CONFIG_MTD_NAND_OMAP2_MODULE)
|
||||
#if IS_ENABLED(CONFIG_MTD_NAND_OMAP2)
|
||||
extern void board_nand_init(struct mtd_partition *nand_parts,
|
||||
u8 nr_parts, u8 cs, int nand_type, struct gpmc_timings *gpmc_t);
|
||||
extern struct gpmc_timings nand_default_timings[];
|
||||
@@ -49,8 +45,7 @@ static inline void board_nand_init(struct mtd_partition *nand_parts,
|
||||
#define nand_default_timings NULL
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_MTD_ONENAND_OMAP2) || \
|
||||
defined(CONFIG_MTD_ONENAND_OMAP2_MODULE)
|
||||
#if IS_ENABLED(CONFIG_MTD_ONENAND_OMAP2)
|
||||
extern void board_onenand_init(struct mtd_partition *nand_parts,
|
||||
u8 nr_parts, u8 cs);
|
||||
#else
|
||||
|
@@ -1,430 +0,0 @@
|
||||
/*
|
||||
* linux/arch/arm/mach-omap2/board-ldp.c
|
||||
*
|
||||
* Copyright (C) 2008 Texas Instruments Inc.
|
||||
* Nishant Kamat <nskamat@ti.com>
|
||||
*
|
||||
* Modified from mach-omap2/board-3430sdp.c
|
||||
*
|
||||
* 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/gpio.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/input.h>
|
||||
#include <linux/input/matrix_keypad.h>
|
||||
#include <linux/gpio_keys.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/regulator/fixed.h>
|
||||
#include <linux/regulator/machine.h>
|
||||
#include <linux/i2c/twl.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/smsc911x.h>
|
||||
#include <linux/mmc/host.h>
|
||||
#include <linux/usb/phy.h>
|
||||
#include <linux/platform_data/spi-omap2-mcspi.h>
|
||||
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
#include <asm/mach/map.h>
|
||||
|
||||
#include "common.h"
|
||||
#include "gpmc.h"
|
||||
#include "gpmc-smsc911x.h"
|
||||
|
||||
#include <linux/platform_data/omapdss.h>
|
||||
#include <video/omap-panel-data.h>
|
||||
|
||||
#include "board-flash.h"
|
||||
#include "mux.h"
|
||||
#include "hsmmc.h"
|
||||
#include "control.h"
|
||||
#include "common-board-devices.h"
|
||||
#include "display.h"
|
||||
|
||||
#define LDP_SMSC911X_CS 1
|
||||
#define LDP_SMSC911X_GPIO 152
|
||||
#define DEBUG_BASE 0x08000000
|
||||
#define LDP_ETHR_START DEBUG_BASE
|
||||
|
||||
static uint32_t board_keymap[] = {
|
||||
KEY(0, 0, KEY_1),
|
||||
KEY(1, 0, KEY_2),
|
||||
KEY(2, 0, KEY_3),
|
||||
KEY(0, 1, KEY_4),
|
||||
KEY(1, 1, KEY_5),
|
||||
KEY(2, 1, KEY_6),
|
||||
KEY(3, 1, KEY_F5),
|
||||
KEY(0, 2, KEY_7),
|
||||
KEY(1, 2, KEY_8),
|
||||
KEY(2, 2, KEY_9),
|
||||
KEY(3, 2, KEY_F6),
|
||||
KEY(0, 3, KEY_F7),
|
||||
KEY(1, 3, KEY_0),
|
||||
KEY(2, 3, KEY_F8),
|
||||
PERSISTENT_KEY(4, 5),
|
||||
KEY(4, 4, KEY_VOLUMEUP),
|
||||
KEY(5, 5, KEY_VOLUMEDOWN),
|
||||
0
|
||||
};
|
||||
|
||||
static struct matrix_keymap_data board_map_data = {
|
||||
.keymap = board_keymap,
|
||||
.keymap_size = ARRAY_SIZE(board_keymap),
|
||||
};
|
||||
|
||||
static struct twl4030_keypad_data ldp_kp_twl4030_data = {
|
||||
.keymap_data = &board_map_data,
|
||||
.rows = 6,
|
||||
.cols = 6,
|
||||
.rep = 1,
|
||||
};
|
||||
|
||||
static struct gpio_keys_button ldp_gpio_keys_buttons[] = {
|
||||
[0] = {
|
||||
.code = KEY_ENTER,
|
||||
.gpio = 101,
|
||||
.desc = "enter sw",
|
||||
.active_low = 1,
|
||||
.debounce_interval = 30,
|
||||
},
|
||||
[1] = {
|
||||
.code = KEY_F1,
|
||||
.gpio = 102,
|
||||
.desc = "func 1",
|
||||
.active_low = 1,
|
||||
.debounce_interval = 30,
|
||||
},
|
||||
[2] = {
|
||||
.code = KEY_F2,
|
||||
.gpio = 103,
|
||||
.desc = "func 2",
|
||||
.active_low = 1,
|
||||
.debounce_interval = 30,
|
||||
},
|
||||
[3] = {
|
||||
.code = KEY_F3,
|
||||
.gpio = 104,
|
||||
.desc = "func 3",
|
||||
.active_low = 1,
|
||||
.debounce_interval = 30,
|
||||
},
|
||||
[4] = {
|
||||
.code = KEY_F4,
|
||||
.gpio = 105,
|
||||
.desc = "func 4",
|
||||
.active_low = 1,
|
||||
.debounce_interval = 30,
|
||||
},
|
||||
[5] = {
|
||||
.code = KEY_LEFT,
|
||||
.gpio = 106,
|
||||
.desc = "left sw",
|
||||
.active_low = 1,
|
||||
.debounce_interval = 30,
|
||||
},
|
||||
[6] = {
|
||||
.code = KEY_RIGHT,
|
||||
.gpio = 107,
|
||||
.desc = "right sw",
|
||||
.active_low = 1,
|
||||
.debounce_interval = 30,
|
||||
},
|
||||
[7] = {
|
||||
.code = KEY_UP,
|
||||
.gpio = 108,
|
||||
.desc = "up sw",
|
||||
.active_low = 1,
|
||||
.debounce_interval = 30,
|
||||
},
|
||||
[8] = {
|
||||
.code = KEY_DOWN,
|
||||
.gpio = 109,
|
||||
.desc = "down sw",
|
||||
.active_low = 1,
|
||||
.debounce_interval = 30,
|
||||
},
|
||||
};
|
||||
|
||||
static struct gpio_keys_platform_data ldp_gpio_keys = {
|
||||
.buttons = ldp_gpio_keys_buttons,
|
||||
.nbuttons = ARRAY_SIZE(ldp_gpio_keys_buttons),
|
||||
.rep = 1,
|
||||
};
|
||||
|
||||
static struct platform_device ldp_gpio_keys_device = {
|
||||
.name = "gpio-keys",
|
||||
.id = -1,
|
||||
.dev = {
|
||||
.platform_data = &ldp_gpio_keys,
|
||||
},
|
||||
};
|
||||
|
||||
static struct omap_smsc911x_platform_data smsc911x_cfg = {
|
||||
.cs = LDP_SMSC911X_CS,
|
||||
.gpio_irq = LDP_SMSC911X_GPIO,
|
||||
.gpio_reset = -EINVAL,
|
||||
.flags = SMSC911X_USE_32BIT,
|
||||
};
|
||||
|
||||
static inline void __init ldp_init_smsc911x(void)
|
||||
{
|
||||
gpmc_smsc911x_init(&smsc911x_cfg);
|
||||
}
|
||||
|
||||
/* LCD */
|
||||
|
||||
#define LCD_PANEL_RESET_GPIO 55
|
||||
#define LCD_PANEL_QVGA_GPIO 56
|
||||
|
||||
static const struct display_timing ldp_lcd_videomode = {
|
||||
.pixelclock = { 0, 5400000, 0 },
|
||||
|
||||
.hactive = { 0, 240, 0 },
|
||||
.hfront_porch = { 0, 3, 0 },
|
||||
.hback_porch = { 0, 39, 0 },
|
||||
.hsync_len = { 0, 3, 0 },
|
||||
|
||||
.vactive = { 0, 320, 0 },
|
||||
.vfront_porch = { 0, 2, 0 },
|
||||
.vback_porch = { 0, 7, 0 },
|
||||
.vsync_len = { 0, 1, 0 },
|
||||
|
||||
.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
|
||||
DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
|
||||
};
|
||||
|
||||
static struct panel_dpi_platform_data ldp_lcd_pdata = {
|
||||
.name = "lcd",
|
||||
.source = "dpi.0",
|
||||
|
||||
.data_lines = 18,
|
||||
|
||||
.display_timing = &ldp_lcd_videomode,
|
||||
|
||||
.enable_gpio = -1, /* filled in code */
|
||||
.backlight_gpio = -1, /* filled in code */
|
||||
};
|
||||
|
||||
static struct platform_device ldp_lcd_device = {
|
||||
.name = "panel-dpi",
|
||||
.id = 0,
|
||||
.dev.platform_data = &ldp_lcd_pdata,
|
||||
};
|
||||
|
||||
static struct omap_dss_board_info ldp_dss_data = {
|
||||
.default_display_name = "lcd",
|
||||
};
|
||||
|
||||
static void __init ldp_display_init(void)
|
||||
{
|
||||
int r;
|
||||
|
||||
static struct gpio gpios[] __initdata = {
|
||||
{LCD_PANEL_RESET_GPIO, GPIOF_OUT_INIT_HIGH, "LCD RESET"},
|
||||
{LCD_PANEL_QVGA_GPIO, GPIOF_OUT_INIT_HIGH, "LCD QVGA"},
|
||||
};
|
||||
|
||||
r = gpio_request_array(gpios, ARRAY_SIZE(gpios));
|
||||
if (r) {
|
||||
pr_err("Cannot request LCD GPIOs, error %d\n", r);
|
||||
return;
|
||||
}
|
||||
|
||||
omap_display_init(&ldp_dss_data);
|
||||
}
|
||||
|
||||
static int ldp_twl_gpio_setup(struct device *dev, unsigned gpio, unsigned ngpio)
|
||||
{
|
||||
int res;
|
||||
|
||||
/* LCD enable GPIO */
|
||||
ldp_lcd_pdata.enable_gpio = gpio + 7;
|
||||
|
||||
/* Backlight enable GPIO */
|
||||
ldp_lcd_pdata.backlight_gpio = gpio + 15;
|
||||
|
||||
res = platform_device_register(&ldp_lcd_device);
|
||||
if (res)
|
||||
pr_err("Unable to register LCD: %d\n", res);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct twl4030_gpio_platform_data ldp_gpio_data = {
|
||||
.setup = ldp_twl_gpio_setup,
|
||||
};
|
||||
|
||||
static struct regulator_consumer_supply ldp_vmmc1_supply[] = {
|
||||
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
|
||||
};
|
||||
|
||||
/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
|
||||
static struct regulator_init_data ldp_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(ldp_vmmc1_supply),
|
||||
.consumer_supplies = ldp_vmmc1_supply,
|
||||
};
|
||||
|
||||
/* ads7846 on SPI */
|
||||
static struct regulator_consumer_supply ldp_vaux1_supplies[] = {
|
||||
REGULATOR_SUPPLY("vcc", "spi1.0"),
|
||||
};
|
||||
|
||||
/* VAUX1 */
|
||||
static struct regulator_init_data ldp_vaux1 = {
|
||||
.constraints = {
|
||||
.min_uV = 3000000,
|
||||
.max_uV = 3000000,
|
||||
.apply_uV = true,
|
||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
||||
| REGULATOR_MODE_STANDBY,
|
||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
||||
| REGULATOR_CHANGE_STATUS,
|
||||
},
|
||||
.num_consumer_supplies = ARRAY_SIZE(ldp_vaux1_supplies),
|
||||
.consumer_supplies = ldp_vaux1_supplies,
|
||||
};
|
||||
|
||||
static struct regulator_consumer_supply ldp_vpll2_supplies[] = {
|
||||
REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
|
||||
REGULATOR_SUPPLY("vdds_dsi", "omapdss_dpi.0"),
|
||||
REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"),
|
||||
};
|
||||
|
||||
static struct regulator_init_data ldp_vpll2 = {
|
||||
.constraints = {
|
||||
.name = "VDVI",
|
||||
.min_uV = 1800000,
|
||||
.max_uV = 1800000,
|
||||
.apply_uV = true,
|
||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
||||
| REGULATOR_MODE_STANDBY,
|
||||
.valid_ops_mask = REGULATOR_CHANGE_MODE
|
||||
| REGULATOR_CHANGE_STATUS,
|
||||
},
|
||||
.num_consumer_supplies = ARRAY_SIZE(ldp_vpll2_supplies),
|
||||
.consumer_supplies = ldp_vpll2_supplies,
|
||||
};
|
||||
|
||||
static struct twl4030_platform_data ldp_twldata = {
|
||||
/* platform_data for children goes here */
|
||||
.vmmc1 = &ldp_vmmc1,
|
||||
.vaux1 = &ldp_vaux1,
|
||||
.vpll2 = &ldp_vpll2,
|
||||
.gpio = &ldp_gpio_data,
|
||||
.keypad = &ldp_kp_twl4030_data,
|
||||
};
|
||||
|
||||
static int __init omap_i2c_init(void)
|
||||
{
|
||||
omap3_pmic_get_config(&ldp_twldata,
|
||||
TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC, 0);
|
||||
omap3_pmic_init("twl4030", &ldp_twldata);
|
||||
omap_register_i2c_bus(2, 400, NULL, 0);
|
||||
omap_register_i2c_bus(3, 400, NULL, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct omap2_hsmmc_info mmc[] __initdata = {
|
||||
{
|
||||
.mmc = 1,
|
||||
.caps = MMC_CAP_4_BIT_DATA,
|
||||
.gpio_cd = -EINVAL,
|
||||
.gpio_wp = -EINVAL,
|
||||
},
|
||||
{} /* Terminator */
|
||||
};
|
||||
|
||||
static struct platform_device *ldp_devices[] __initdata = {
|
||||
&ldp_gpio_keys_device,
|
||||
};
|
||||
|
||||
#ifdef CONFIG_OMAP_MUX
|
||||
static struct omap_board_mux board_mux[] __initdata = {
|
||||
{ .reg_offset = OMAP_MUX_TERMINATOR },
|
||||
};
|
||||
#endif
|
||||
|
||||
static struct mtd_partition ldp_nand_partitions[] = {
|
||||
/* All the partition sizes are listed in terms of NAND block size */
|
||||
{
|
||||
.name = "X-Loader-NAND",
|
||||
.offset = 0,
|
||||
.size = 4 * (64 * 2048), /* 512KB, 0x80000 */
|
||||
.mask_flags = MTD_WRITEABLE, /* force read-only */
|
||||
},
|
||||
{
|
||||
.name = "U-Boot-NAND",
|
||||
.offset = MTDPART_OFS_APPEND, /* Offset = 0x80000 */
|
||||
.size = 10 * (64 * 2048), /* 1.25MB, 0x140000 */
|
||||
.mask_flags = MTD_WRITEABLE, /* force read-only */
|
||||
},
|
||||
{
|
||||
.name = "Boot Env-NAND",
|
||||
.offset = MTDPART_OFS_APPEND, /* Offset = 0x1c0000 */
|
||||
.size = 2 * (64 * 2048), /* 256KB, 0x40000 */
|
||||
},
|
||||
{
|
||||
.name = "Kernel-NAND",
|
||||
.offset = MTDPART_OFS_APPEND, /* Offset = 0x0200000*/
|
||||
.size = 240 * (64 * 2048), /* 30M, 0x1E00000 */
|
||||
},
|
||||
{
|
||||
.name = "File System - NAND",
|
||||
.offset = MTDPART_OFS_APPEND, /* Offset = 0x2000000 */
|
||||
.size = MTDPART_SIZ_FULL, /* 96MB, 0x6000000 */
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
static struct regulator_consumer_supply dummy_supplies[] = {
|
||||
REGULATOR_SUPPLY("vddvario", "smsc911x.0"),
|
||||
REGULATOR_SUPPLY("vdd33a", "smsc911x.0"),
|
||||
};
|
||||
|
||||
static void __init omap_ldp_init(void)
|
||||
{
|
||||
regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
|
||||
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
|
||||
ldp_init_smsc911x();
|
||||
omap_i2c_init();
|
||||
platform_add_devices(ldp_devices, ARRAY_SIZE(ldp_devices));
|
||||
omap_ads7846_init(1, 54, 310, NULL);
|
||||
omap_serial_init();
|
||||
omap_sdrc_init(NULL, NULL);
|
||||
usb_bind_phy("musb-hdrc.0.auto", 0, "twl4030_usb");
|
||||
usb_musb_init(NULL);
|
||||
board_nand_init(ldp_nand_partitions, ARRAY_SIZE(ldp_nand_partitions),
|
||||
0, 0, nand_default_timings);
|
||||
|
||||
omap_hsmmc_init(mmc);
|
||||
ldp_display_init();
|
||||
}
|
||||
|
||||
MACHINE_START(OMAP_LDP, "OMAP LDP board")
|
||||
.atag_offset = 0x100,
|
||||
.reserve = omap_reserve,
|
||||
.map_io = omap3_map_io,
|
||||
.init_early = omap3430_init_early,
|
||||
.init_irq = omap3_init_irq,
|
||||
.init_machine = omap_ldp_init,
|
||||
.init_late = omap3430_init_late,
|
||||
.init_time = omap_init_time,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
@@ -66,7 +66,7 @@ static void board_check_revision(void)
|
||||
pr_err("Unknown board\n");
|
||||
}
|
||||
|
||||
#if defined(CONFIG_USB_MUSB_TUSB6010) || defined(CONFIG_USB_MUSB_TUSB6010_MODULE)
|
||||
#if IS_ENABLED(CONFIG_USB_MUSB_TUSB6010)
|
||||
/*
|
||||
* Enable or disable power to TUSB6010. When enabling, turn on 3.3 V and
|
||||
* 1.5 V voltage regulators of PM companion chip. Companion chip will then
|
||||
@@ -163,8 +163,7 @@ static struct spi_board_info n800_spi_board_info[] __initdata = {
|
||||
},
|
||||
};
|
||||
|
||||
#if defined(CONFIG_MENELAUS) && \
|
||||
(defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE))
|
||||
#if defined(CONFIG_MENELAUS) && IS_ENABLED(CONFIG_MMC_OMAP)
|
||||
|
||||
/*
|
||||
* On both N800 and N810, only the first of the two MMC controllers is in use.
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,67 +0,0 @@
|
||||
/*
|
||||
* linux/arch/arm/mach-omap2/board-rx51-video.c
|
||||
*
|
||||
* Copyright (C) 2010 Nokia
|
||||
*
|
||||
* 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/gpio.h>
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/mm.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <linux/platform_data/omapdss.h>
|
||||
#include <video/omap-panel-data.h>
|
||||
|
||||
#include <linux/platform_data/spi-omap2-mcspi.h>
|
||||
|
||||
#include "soc.h"
|
||||
#include "board-rx51.h"
|
||||
#include "display.h"
|
||||
|
||||
#include "mux.h"
|
||||
|
||||
#define RX51_LCD_RESET_GPIO 90
|
||||
|
||||
#if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE)
|
||||
|
||||
static struct connector_atv_platform_data rx51_tv_pdata = {
|
||||
.name = "tv",
|
||||
.source = "venc.0",
|
||||
.invert_polarity = false,
|
||||
};
|
||||
|
||||
static struct platform_device rx51_tv_connector_device = {
|
||||
.name = "connector-analog-tv",
|
||||
.id = 0,
|
||||
.dev.platform_data = &rx51_tv_pdata,
|
||||
};
|
||||
|
||||
static struct omap_dss_board_info rx51_dss_board_info = {
|
||||
.default_display_name = "lcd",
|
||||
};
|
||||
|
||||
static int __init rx51_video_init(void)
|
||||
{
|
||||
if (!machine_is_nokia_rx51())
|
||||
return 0;
|
||||
|
||||
if (omap_mux_init_gpio(RX51_LCD_RESET_GPIO, OMAP_PIN_OUTPUT)) {
|
||||
pr_err("%s cannot configure MUX for LCD RESET\n", __func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
omap_display_init(&rx51_dss_board_info);
|
||||
|
||||
platform_device_register(&rx51_tv_connector_device);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
omap_subsys_initcall(rx51_video_init);
|
||||
#endif /* defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE) */
|
@@ -1,141 +0,0 @@
|
||||
/*
|
||||
* Board support file for Nokia N900 (aka RX-51).
|
||||
*
|
||||
* Copyright (C) 2007, 2008 Nokia
|
||||
* Copyright (C) 2012 Ivaylo Dimitrov <freemangordon@abv.bg>
|
||||
* Copyright (C) 2013 Pali Rohár <pali.rohar@gmail.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.
|
||||
*/
|
||||
|
||||
#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/gpio.h>
|
||||
#include <linux/leds.h>
|
||||
#include <linux/usb/phy.h>
|
||||
#include <linux/usb/musb.h>
|
||||
#include <linux/platform_data/spi-omap2-mcspi.h>
|
||||
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
#include <asm/mach/map.h>
|
||||
|
||||
#include <linux/omap-dma.h>
|
||||
|
||||
#include "common.h"
|
||||
#include "mux.h"
|
||||
#include "gpmc.h"
|
||||
#include "pm.h"
|
||||
#include "soc.h"
|
||||
#include "sdram-nokia.h"
|
||||
#include "omap-secure.h"
|
||||
|
||||
#define RX51_GPIO_SLEEP_IND 162
|
||||
|
||||
static struct gpio_led gpio_leds[] = {
|
||||
{
|
||||
.name = "sleep_ind",
|
||||
.gpio = RX51_GPIO_SLEEP_IND,
|
||||
},
|
||||
};
|
||||
|
||||
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,
|
||||
},
|
||||
};
|
||||
|
||||
/*
|
||||
* cpuidle C-states definition for rx51.
|
||||
*
|
||||
* The 'exit_latency' field is the sum of sleep
|
||||
* and wake-up latencies.
|
||||
|
||||
---------------------------------------------
|
||||
| state | exit_latency | target_residency |
|
||||
---------------------------------------------
|
||||
| C1 | 110 + 162 | 5 |
|
||||
| C2 | 106 + 180 | 309 |
|
||||
| C3 | 107 + 410 | 46057 |
|
||||
| C4 | 121 + 3374 | 46057 |
|
||||
| C5 | 855 + 1146 | 46057 |
|
||||
| C6 | 7580 + 4134 | 484329 |
|
||||
| C7 | 7505 + 15274 | 484329 |
|
||||
---------------------------------------------
|
||||
|
||||
*/
|
||||
|
||||
extern void __init rx51_peripherals_init(void);
|
||||
|
||||
#ifdef CONFIG_OMAP_MUX
|
||||
static struct omap_board_mux board_mux[] __initdata = {
|
||||
{ .reg_offset = OMAP_MUX_TERMINATOR },
|
||||
};
|
||||
#endif
|
||||
|
||||
static struct omap_musb_board_data musb_board_data = {
|
||||
.interface_type = MUSB_INTERFACE_ULPI,
|
||||
.mode = MUSB_OTG,
|
||||
.power = 0,
|
||||
};
|
||||
|
||||
static void __init rx51_init(void)
|
||||
{
|
||||
struct omap_sdrc_params *sdrc_params;
|
||||
|
||||
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
|
||||
omap_serial_init();
|
||||
|
||||
sdrc_params = nokia_get_sdram_timings();
|
||||
omap_sdrc_init(sdrc_params, sdrc_params);
|
||||
|
||||
usb_bind_phy("musb-hdrc.0.auto", 0, "twl4030_usb");
|
||||
usb_musb_init(&musb_board_data);
|
||||
rx51_peripherals_init();
|
||||
|
||||
if (omap_type() == OMAP2_DEVICE_TYPE_SEC) {
|
||||
#ifdef CONFIG_ARM_ERRATA_430973
|
||||
pr_info("RX-51: Enabling ARM errata 430973 workaround\n");
|
||||
/* set IBE to 1 */
|
||||
rx51_secure_update_aux_cr(BIT(6), 0);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* 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);
|
||||
|
||||
platform_device_register(&leds_gpio);
|
||||
}
|
||||
|
||||
static void __init rx51_reserve(void)
|
||||
{
|
||||
omap_reserve();
|
||||
}
|
||||
|
||||
MACHINE_START(NOKIA_RX51, "Nokia RX-51 board")
|
||||
/* Maintainer: Lauri Leukkunen <lauri.leukkunen@nokia.com> */
|
||||
.atag_offset = 0x100,
|
||||
.reserve = rx51_reserve,
|
||||
.map_io = omap3_map_io,
|
||||
.init_early = omap3430_init_early,
|
||||
.init_irq = omap3_init_irq,
|
||||
.init_machine = rx51_init,
|
||||
.init_late = omap3430_init_late,
|
||||
.init_time = omap_init_time,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
@@ -1,11 +0,0 @@
|
||||
/*
|
||||
* Defines for rx51 boards
|
||||
*/
|
||||
|
||||
#ifndef _OMAP_BOARD_RX51_H
|
||||
#define _OMAP_BOARD_RX51_H
|
||||
|
||||
extern void __init rx51_peripherals_init(void);
|
||||
extern void __init rx51_video_mem_init(void);
|
||||
|
||||
#endif
|
@@ -29,8 +29,7 @@
|
||||
#include "common.h"
|
||||
#include "common-board-devices.h"
|
||||
|
||||
#if defined(CONFIG_TOUCHSCREEN_ADS7846) || \
|
||||
defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
|
||||
#if IS_ENABLED(CONFIG_TOUCHSCREEN_ADS7846)
|
||||
static struct omap2_mcspi_device_config ads7846_mcspi_config = {
|
||||
.turbo_mode = 0,
|
||||
};
|
||||
|
@@ -67,7 +67,7 @@ omap_postcore_initcall(omap3_l3_init);
|
||||
|
||||
static inline void omap_init_sti(void) {}
|
||||
|
||||
#if defined(CONFIG_SPI_OMAP24XX) || defined(CONFIG_SPI_OMAP24XX_MODULE)
|
||||
#if IS_ENABLED(CONFIG_SPI_OMAP24XX)
|
||||
|
||||
#include <linux/platform_data/spi-omap2-mcspi.h>
|
||||
|
||||
@@ -163,9 +163,8 @@ static void __init omap_init_aes(void)
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
#if defined(CONFIG_VIDEO_OMAP2_VOUT) || \
|
||||
defined(CONFIG_VIDEO_OMAP2_VOUT_MODULE)
|
||||
#if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE)
|
||||
#if IS_ENABLED(CONFIG_VIDEO_OMAP2_VOUT)
|
||||
#if IS_ENABLED(CONFIG_FB_OMAP2)
|
||||
static struct resource omap_vout_resource[3 - CONFIG_FB_OMAP2_NUM_FBS] = {
|
||||
};
|
||||
#else
|
||||
|
@@ -28,7 +28,7 @@
|
||||
#include "soc.h"
|
||||
#include "display.h"
|
||||
|
||||
#if defined(CONFIG_DRM_OMAP) || defined(CONFIG_DRM_OMAP_MODULE)
|
||||
#if IS_ENABLED(CONFIG_DRM_OMAP)
|
||||
|
||||
static struct omap_drm_platform_data platform_data;
|
||||
|
||||
|
@@ -90,7 +90,7 @@ int __init omap_init_vrfb(void)
|
||||
int __init omap_init_vrfb(void) { return 0; }
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE)
|
||||
#if IS_ENABLED(CONFIG_FB_OMAP2)
|
||||
|
||||
static u64 omap_fb_dma_mask = ~(u32)0;
|
||||
static struct omapfb_platform_data omapfb_config;
|
||||
|
@@ -21,7 +21,7 @@ struct omap_smsc911x_platform_data {
|
||||
u32 flags;
|
||||
};
|
||||
|
||||
#if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE)
|
||||
#if IS_ENABLED(CONFIG_SMSC911X)
|
||||
|
||||
extern void gpmc_smsc911x_init(struct omap_smsc911x_platform_data *d);
|
||||
|
||||
|
@@ -26,7 +26,7 @@
|
||||
#include "hsmmc.h"
|
||||
#include "control.h"
|
||||
|
||||
#if defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE)
|
||||
#if IS_ENABLED(CONFIG_MMC_OMAP_HS)
|
||||
|
||||
static u16 control_pbias_offset;
|
||||
static u16 control_devconf1_offset;
|
||||
|
@@ -28,7 +28,7 @@ struct omap2_hsmmc_info {
|
||||
void (*init_card)(struct mmc_card *card);
|
||||
};
|
||||
|
||||
#if defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE)
|
||||
#if IS_ENABLED(CONFIG_MMC_OMAP_HS)
|
||||
|
||||
void omap_hsmmc_init(struct omap2_hsmmc_info *);
|
||||
void omap_hsmmc_late_init(struct omap2_hsmmc_info *);
|
||||
|
@@ -532,8 +532,7 @@ void __init omap4_pmic_get_config(struct twl4030_platform_data *pmic_data,
|
||||
}
|
||||
#endif /* CONFIG_ARCH_OMAP4 */
|
||||
|
||||
#if defined(CONFIG_SND_OMAP_SOC_OMAP_TWL4030) || \
|
||||
defined(CONFIG_SND_OMAP_SOC_OMAP_TWL4030_MODULE)
|
||||
#if IS_ENABLED(CONFIG_SND_OMAP_SOC_OMAP_TWL4030)
|
||||
#include <linux/platform_data/omap-twl4030.h>
|
||||
|
||||
/* Commonly used configuration */
|
||||
|
Reference in New Issue
Block a user