Changes for omap1 variants for v4.21 merge window
In this set of changes Aaro Koskinen revives Palm Tungsten E for the MMC and USB making it usable again. And Janusz Krzysztofik follows up on the clean-up of ams-delta GPIO handling. The other changes are clean-up for DEFINE_SHOW_ATTRIBUTE by Yangtao Li. -----BEGIN PGP SIGNATURE----- iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAlwRTe8RHHRvbnlAYXRv bWlkZS5jb20ACgkQG9Q+yVyrpXMQ4w//X5YkMv89whrtWZFOumOtJbfZV9Rg6/Xq oJNxAoXFg0NB0E9gY5YtoV4pPLtVGDWF4RJgeBZOdGSzIuyV1Mt+tnNcTRtzngwL oZr2Mi5UyTur+zniyhU+I5LgEi7Ms62+bcqUkJZ2QSP3z1RFQgl9ce/yCWbIhjmK QHDBrD6fNgH0dZ30+lIzoRPFJeaH4Re7Cox/BrcG/QJnCUmcWKFC2Y/VLyNbKbuR pZ5xbgEynUHMzNDnwEkixpwWnBNN2iIQO1soB485UjChTHZtygNl4jWR2Sc5odv6 XNbQ1KCRmru8aZHS0k4dgYrSR0KNtCQEBS1dYBbz+zRJ+YqPYtNfyoGpnvwoiAND VndWN1faKwxrNBj/56cyB5QdgO+cILSHzpwskroW57oeBh9lcJ9Rn1waF17J0OfZ 4AjKAJKrLQbsXgLWUGxZQvpzu4LNcL9c5kFe1v7TsHC8ptR2V673VA8zv10kTkt3 ziNMJrzbjbr1CNJpywAZR3S8Xh5oNuwdAjlljgPOAE73dVqMWsRZV0vgP4j0U8OU EoLqSoVz5igGtI6NqywkXGA5d+w45eLTmDFhpak5jW+YaNRhO+OefP1ad2Dkva9c M0Nl2vBqGd76qqE7V7QfLerF7ovllarTgW+e7w918as58sXNiD4j0C99wqd2Kn5r 5kAA6hGUGNM= =bVv2 -----END PGP SIGNATURE----- Merge tag 'omap-for-v4.21/omap1-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc Changes for omap1 variants for v4.21 merge window In this set of changes Aaro Koskinen revives Palm Tungsten E for the MMC and USB making it usable again. And Janusz Krzysztofik follows up on the clean-up of ams-delta GPIO handling. The other changes are clean-up for DEFINE_SHOW_ATTRIBUTE by Yangtao Li. * tag 'omap-for-v4.21/omap1-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP1: fix USB configuration for device-only setups ARM: OMAP1: add MMC configuration for Palm Tungsten E ARM: OMAP1: devices: configure omap1_spi100k only on OMAP7xx ARM: OMAP1/2: fix SoC name printing ARM: OMAP1: ams-delta: Move AMS_DELTA_LATCH2_NGPIO to the board file ARM: OMAP1: ams-delta: Drop unused symbols from the board header ARM: OMAP1: ams-delta: Drop board specific global GPIO numbers ARM: OMAP: PM: Change to use DEFINE_SHOW_ATTRIBUTE macro ARM: OMAP1: clock: Change to use DEFINE_SHOW_ATTRIBUTE macro ARM: OMAP1: ams-delta: Provide GPIO lookup table for LED device ARM: OMAP1: ams-delta: make board header file local to mach-omap1 Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
commit
4238973b2e
|
@ -25,7 +25,7 @@ obj-y += $(i2c-omap-m) $(i2c-omap-y)
|
||||||
|
|
||||||
led-y := leds.o
|
led-y := leds.o
|
||||||
|
|
||||||
usb-fs-$(CONFIG_USB) := usb.o
|
usb-fs-$(CONFIG_USB_SUPPORT) := usb.o
|
||||||
obj-y += $(usb-fs-m) $(usb-fs-y)
|
obj-y += $(usb-fs-m) $(usb-fs-y)
|
||||||
|
|
||||||
# Specific board support
|
# Specific board support
|
||||||
|
|
|
@ -18,9 +18,9 @@
|
||||||
#include <linux/platform_data/gpio-omap.h>
|
#include <linux/platform_data/gpio-omap.h>
|
||||||
|
|
||||||
#include <asm/assembler.h>
|
#include <asm/assembler.h>
|
||||||
#include <mach/board-ams-delta.h>
|
|
||||||
|
|
||||||
#include "ams-delta-fiq.h"
|
#include "ams-delta-fiq.h"
|
||||||
|
#include "board-ams-delta.h"
|
||||||
#include "iomap.h"
|
#include "iomap.h"
|
||||||
#include "soc.h"
|
#include "soc.h"
|
||||||
|
|
||||||
|
|
|
@ -22,11 +22,10 @@
|
||||||
#include <linux/platform_data/ams-delta-fiq.h>
|
#include <linux/platform_data/ams-delta-fiq.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
|
|
||||||
#include <mach/board-ams-delta.h>
|
|
||||||
|
|
||||||
#include <asm/fiq.h>
|
#include <asm/fiq.h>
|
||||||
|
|
||||||
#include "ams-delta-fiq.h"
|
#include "ams-delta-fiq.h"
|
||||||
|
#include "board-ams-delta.h"
|
||||||
|
|
||||||
static struct fiq_handler fh = {
|
static struct fiq_handler fh = {
|
||||||
.name = "ams-delta-fiq"
|
.name = "ams-delta-fiq"
|
||||||
|
|
|
@ -36,7 +36,6 @@
|
||||||
#include <asm/mach/arch.h>
|
#include <asm/mach/arch.h>
|
||||||
#include <asm/mach/map.h>
|
#include <asm/mach/map.h>
|
||||||
|
|
||||||
#include <mach/board-ams-delta.h>
|
|
||||||
#include <linux/platform_data/keypad-omap.h>
|
#include <linux/platform_data/keypad-omap.h>
|
||||||
#include <mach/mux.h>
|
#include <mach/mux.h>
|
||||||
|
|
||||||
|
@ -45,6 +44,7 @@
|
||||||
#include <mach/usb.h>
|
#include <mach/usb.h>
|
||||||
|
|
||||||
#include "ams-delta-fiq.h"
|
#include "ams-delta-fiq.h"
|
||||||
|
#include "board-ams-delta.h"
|
||||||
#include "iomap.h"
|
#include "iomap.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
|
||||||
|
@ -167,7 +167,6 @@ static struct omap_usb_config ams_delta_usb_config __initdata = {
|
||||||
.pins[0] = 2,
|
.pins[0] = 2,
|
||||||
};
|
};
|
||||||
|
|
||||||
#define LATCH1_GPIO_BASE 232
|
|
||||||
#define LATCH1_NGPIO 8
|
#define LATCH1_NGPIO 8
|
||||||
|
|
||||||
static struct resource latch1_resources[] = {
|
static struct resource latch1_resources[] = {
|
||||||
|
@ -183,7 +182,6 @@ static struct resource latch1_resources[] = {
|
||||||
|
|
||||||
static struct bgpio_pdata latch1_pdata = {
|
static struct bgpio_pdata latch1_pdata = {
|
||||||
.label = LATCH1_LABEL,
|
.label = LATCH1_LABEL,
|
||||||
.base = LATCH1_GPIO_BASE,
|
|
||||||
.ngpio = LATCH1_NGPIO,
|
.ngpio = LATCH1_NGPIO,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -206,11 +204,13 @@ static struct platform_device latch1_gpio_device = {
|
||||||
#define LATCH1_PIN_DOCKIT1 6
|
#define LATCH1_PIN_DOCKIT1 6
|
||||||
#define LATCH1_PIN_DOCKIT2 7
|
#define LATCH1_PIN_DOCKIT2 7
|
||||||
|
|
||||||
|
#define LATCH2_NGPIO 16
|
||||||
|
|
||||||
static struct resource latch2_resources[] = {
|
static struct resource latch2_resources[] = {
|
||||||
[0] = {
|
[0] = {
|
||||||
.name = "dat",
|
.name = "dat",
|
||||||
.start = LATCH2_PHYS,
|
.start = LATCH2_PHYS,
|
||||||
.end = LATCH2_PHYS + (AMS_DELTA_LATCH2_NGPIO - 1) / 8,
|
.end = LATCH2_PHYS + (LATCH2_NGPIO - 1) / 8,
|
||||||
.flags = IORESOURCE_MEM,
|
.flags = IORESOURCE_MEM,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -219,8 +219,7 @@ static struct resource latch2_resources[] = {
|
||||||
|
|
||||||
static struct bgpio_pdata latch2_pdata = {
|
static struct bgpio_pdata latch2_pdata = {
|
||||||
.label = LATCH2_LABEL,
|
.label = LATCH2_LABEL,
|
||||||
.base = AMS_DELTA_LATCH2_GPIO_BASE,
|
.ngpio = LATCH2_NGPIO,
|
||||||
.ngpio = AMS_DELTA_LATCH2_NGPIO,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device latch2_gpio_device = {
|
static struct platform_device latch2_gpio_device = {
|
||||||
|
@ -371,15 +370,9 @@ static struct gpiod_lookup_table ams_delta_lcd_gpio_table = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
* Dynamically allocated GPIO numbers must be obtained fromm GPIO device
|
|
||||||
* before they can be put in the gpio_led table. Before that happens,
|
|
||||||
* initialize the table with invalid GPIO numbers, not 0.
|
|
||||||
*/
|
|
||||||
static struct gpio_led gpio_leds[] __initdata = {
|
static struct gpio_led gpio_leds[] __initdata = {
|
||||||
[LATCH1_PIN_LED_CAMERA] = {
|
[LATCH1_PIN_LED_CAMERA] = {
|
||||||
.name = "camera",
|
.name = "camera",
|
||||||
.gpio = -EINVAL,
|
|
||||||
.default_state = LEDS_GPIO_DEFSTATE_OFF,
|
.default_state = LEDS_GPIO_DEFSTATE_OFF,
|
||||||
#ifdef CONFIG_LEDS_TRIGGERS
|
#ifdef CONFIG_LEDS_TRIGGERS
|
||||||
.default_trigger = "ams_delta_camera",
|
.default_trigger = "ams_delta_camera",
|
||||||
|
@ -387,27 +380,22 @@ static struct gpio_led gpio_leds[] __initdata = {
|
||||||
},
|
},
|
||||||
[LATCH1_PIN_LED_ADVERT] = {
|
[LATCH1_PIN_LED_ADVERT] = {
|
||||||
.name = "advert",
|
.name = "advert",
|
||||||
.gpio = -EINVAL,
|
|
||||||
.default_state = LEDS_GPIO_DEFSTATE_OFF,
|
.default_state = LEDS_GPIO_DEFSTATE_OFF,
|
||||||
},
|
},
|
||||||
[LATCH1_PIN_LED_MAIL] = {
|
[LATCH1_PIN_LED_MAIL] = {
|
||||||
.name = "email",
|
.name = "email",
|
||||||
.gpio = -EINVAL,
|
|
||||||
.default_state = LEDS_GPIO_DEFSTATE_OFF,
|
.default_state = LEDS_GPIO_DEFSTATE_OFF,
|
||||||
},
|
},
|
||||||
[LATCH1_PIN_LED_HANDSFREE] = {
|
[LATCH1_PIN_LED_HANDSFREE] = {
|
||||||
.name = "handsfree",
|
.name = "handsfree",
|
||||||
.gpio = -EINVAL,
|
|
||||||
.default_state = LEDS_GPIO_DEFSTATE_OFF,
|
.default_state = LEDS_GPIO_DEFSTATE_OFF,
|
||||||
},
|
},
|
||||||
[LATCH1_PIN_LED_VOICEMAIL] = {
|
[LATCH1_PIN_LED_VOICEMAIL] = {
|
||||||
.name = "voicemail",
|
.name = "voicemail",
|
||||||
.gpio = -EINVAL,
|
|
||||||
.default_state = LEDS_GPIO_DEFSTATE_OFF,
|
.default_state = LEDS_GPIO_DEFSTATE_OFF,
|
||||||
},
|
},
|
||||||
[LATCH1_PIN_LED_VOICE] = {
|
[LATCH1_PIN_LED_VOICE] = {
|
||||||
.name = "voice",
|
.name = "voice",
|
||||||
.gpio = -EINVAL,
|
|
||||||
.default_state = LEDS_GPIO_DEFSTATE_OFF,
|
.default_state = LEDS_GPIO_DEFSTATE_OFF,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -417,6 +405,24 @@ static const struct gpio_led_platform_data leds_pdata __initconst = {
|
||||||
.num_leds = ARRAY_SIZE(gpio_leds),
|
.num_leds = ARRAY_SIZE(gpio_leds),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct gpiod_lookup_table leds_gpio_table = {
|
||||||
|
.table = {
|
||||||
|
GPIO_LOOKUP_IDX(LATCH1_LABEL, LATCH1_PIN_LED_CAMERA, NULL,
|
||||||
|
LATCH1_PIN_LED_CAMERA, 0),
|
||||||
|
GPIO_LOOKUP_IDX(LATCH1_LABEL, LATCH1_PIN_LED_ADVERT, NULL,
|
||||||
|
LATCH1_PIN_LED_ADVERT, 0),
|
||||||
|
GPIO_LOOKUP_IDX(LATCH1_LABEL, LATCH1_PIN_LED_MAIL, NULL,
|
||||||
|
LATCH1_PIN_LED_MAIL, 0),
|
||||||
|
GPIO_LOOKUP_IDX(LATCH1_LABEL, LATCH1_PIN_LED_HANDSFREE, NULL,
|
||||||
|
LATCH1_PIN_LED_HANDSFREE, 0),
|
||||||
|
GPIO_LOOKUP_IDX(LATCH1_LABEL, LATCH1_PIN_LED_VOICEMAIL, NULL,
|
||||||
|
LATCH1_PIN_LED_VOICEMAIL, 0),
|
||||||
|
GPIO_LOOKUP_IDX(LATCH1_LABEL, LATCH1_PIN_LED_VOICE, NULL,
|
||||||
|
LATCH1_PIN_LED_VOICE, 0),
|
||||||
|
{ },
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
static struct i2c_board_info ams_delta_camera_board_info[] = {
|
static struct i2c_board_info ams_delta_camera_board_info[] = {
|
||||||
{
|
{
|
||||||
I2C_BOARD_INFO("ov6650", 0x60),
|
I2C_BOARD_INFO("ov6650", 0x60),
|
||||||
|
@ -677,6 +683,8 @@ static void __init ams_delta_latch2_init(void)
|
||||||
|
|
||||||
static void __init ams_delta_init(void)
|
static void __init ams_delta_init(void)
|
||||||
{
|
{
|
||||||
|
struct platform_device *leds_pdev;
|
||||||
|
|
||||||
/* mux pins for uarts */
|
/* mux pins for uarts */
|
||||||
omap_cfg_reg(UART1_TX);
|
omap_cfg_reg(UART1_TX);
|
||||||
omap_cfg_reg(UART1_RTS);
|
omap_cfg_reg(UART1_RTS);
|
||||||
|
@ -740,6 +748,12 @@ static void __init ams_delta_init(void)
|
||||||
gpiod_add_lookup_tables(ams_delta_gpio_tables,
|
gpiod_add_lookup_tables(ams_delta_gpio_tables,
|
||||||
ARRAY_SIZE(ams_delta_gpio_tables));
|
ARRAY_SIZE(ams_delta_gpio_tables));
|
||||||
|
|
||||||
|
leds_pdev = gpio_led_register_device(PLATFORM_DEVID_NONE, &leds_pdata);
|
||||||
|
if (!IS_ERR(leds_pdev)) {
|
||||||
|
leds_gpio_table.dev_id = dev_name(&leds_pdev->dev);
|
||||||
|
gpiod_add_lookup_table(&leds_gpio_table);
|
||||||
|
}
|
||||||
|
|
||||||
omap_writew(omap_readw(ARM_RSTCT1) | 0x0004, ARM_RSTCT1);
|
omap_writew(omap_readw(ARM_RSTCT1) | 0x0004, ARM_RSTCT1);
|
||||||
|
|
||||||
omapfb_set_lcd_config(&ams_delta_lcd_config);
|
omapfb_set_lcd_config(&ams_delta_lcd_config);
|
||||||
|
@ -793,64 +807,6 @@ static struct platform_device ams_delta_modem_device = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
* leds-gpio driver doesn't make use of GPIO lookup tables,
|
|
||||||
* it has to be provided with GPIO numbers over platform data
|
|
||||||
* if GPIO descriptor info can't be obtained from device tree.
|
|
||||||
* We could either define GPIO lookup tables and use them on behalf
|
|
||||||
* of the leds-gpio device, or we can use GPIO driver level methods
|
|
||||||
* for identification of GPIO numbers as long as we don't support
|
|
||||||
* device tree. Let's do the latter.
|
|
||||||
*/
|
|
||||||
static void __init ams_delta_led_init(struct gpio_chip *chip)
|
|
||||||
{
|
|
||||||
struct gpio_desc *gpiod;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = LATCH1_PIN_LED_CAMERA; i < LATCH1_PIN_DOCKIT1; i++) {
|
|
||||||
gpiod = gpiochip_request_own_desc(chip, i, NULL);
|
|
||||||
if (IS_ERR(gpiod)) {
|
|
||||||
pr_warn("%s: %s GPIO %d request failed (%ld)\n",
|
|
||||||
__func__, LATCH1_LABEL, i, PTR_ERR(gpiod));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Assign GPIO numbers to LED device. */
|
|
||||||
gpio_leds[i].gpio = desc_to_gpio(gpiod);
|
|
||||||
|
|
||||||
gpiochip_free_own_desc(gpiod);
|
|
||||||
}
|
|
||||||
|
|
||||||
gpio_led_register_device(PLATFORM_DEVID_NONE, &leds_pdata);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The purpose of this function is to take care of assignment of GPIO numbers
|
|
||||||
* to platform devices which depend on GPIO lines provided by Amstrad Delta
|
|
||||||
* latch1 and/or latch2 GPIO devices but don't use GPIO lookup tables.
|
|
||||||
* The function may be called as soon as latch1/latch2 GPIO devices are
|
|
||||||
* initilized. Since basic-mmio-gpio driver is not registered before
|
|
||||||
* device_initcall, this may happen at erliest during device_initcall_sync.
|
|
||||||
* Dependent devices shouldn't be registered before that, their
|
|
||||||
* registration may be performed from within this function or later.
|
|
||||||
*/
|
|
||||||
static int __init ams_delta_gpio_init(void)
|
|
||||||
{
|
|
||||||
struct gpio_chip *chip;
|
|
||||||
|
|
||||||
if (!machine_is_ams_delta())
|
|
||||||
return -ENODEV;
|
|
||||||
|
|
||||||
chip = gpiochip_find(LATCH1_LABEL, gpiochip_match_by_label);
|
|
||||||
if (!chip)
|
|
||||||
pr_err("%s: latch1 GPIO chip not found\n", __func__);
|
|
||||||
else
|
|
||||||
ams_delta_led_init(chip);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
device_initcall_sync(ams_delta_gpio_init);
|
|
||||||
|
|
||||||
static int __init modem_nreset_init(void)
|
static int __init modem_nreset_init(void)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* arch/arm/plat-omap/include/mach/board-ams-delta.h
|
* arch/arm/mach-omap1/board-ams-delta.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006 Jonathan McDowell <noodles@earth.li>
|
* Copyright (C) 2006 Jonathan McDowell <noodles@earth.li>
|
||||||
*
|
*
|
||||||
|
@ -28,10 +28,6 @@
|
||||||
|
|
||||||
#if defined (CONFIG_MACH_AMS_DELTA)
|
#if defined (CONFIG_MACH_AMS_DELTA)
|
||||||
|
|
||||||
#define AMD_DELTA_LATCH2_SCARD_RSTIN 0x0400
|
|
||||||
#define AMD_DELTA_LATCH2_SCARD_CMDVCC 0x0800
|
|
||||||
#define AMS_DELTA_LATCH2_MODEM_CODEC 0x2000
|
|
||||||
|
|
||||||
#define AMS_DELTA_GPIO_PIN_KEYBRD_DATA 0
|
#define AMS_DELTA_GPIO_PIN_KEYBRD_DATA 0
|
||||||
#define AMS_DELTA_GPIO_PIN_KEYBRD_CLK 1
|
#define AMS_DELTA_GPIO_PIN_KEYBRD_CLK 1
|
||||||
#define AMS_DELTA_GPIO_PIN_MODEM_IRQ 2
|
#define AMS_DELTA_GPIO_PIN_MODEM_IRQ 2
|
||||||
|
@ -41,24 +37,6 @@
|
||||||
#define AMS_DELTA_GPIO_PIN_CONFIG 11
|
#define AMS_DELTA_GPIO_PIN_CONFIG 11
|
||||||
#define AMS_DELTA_GPIO_PIN_NAND_RB 12
|
#define AMS_DELTA_GPIO_PIN_NAND_RB 12
|
||||||
|
|
||||||
#define AMS_DELTA_GPIO_PIN_LCD_VBLEN 240
|
|
||||||
#define AMS_DELTA_GPIO_PIN_LCD_NDISP 241
|
|
||||||
#define AMS_DELTA_GPIO_PIN_NAND_NCE 242
|
|
||||||
#define AMS_DELTA_GPIO_PIN_NAND_NRE 243
|
|
||||||
#define AMS_DELTA_GPIO_PIN_NAND_NWP 244
|
|
||||||
#define AMS_DELTA_GPIO_PIN_NAND_NWE 245
|
|
||||||
#define AMS_DELTA_GPIO_PIN_NAND_ALE 246
|
|
||||||
#define AMS_DELTA_GPIO_PIN_NAND_CLE 247
|
|
||||||
#define AMS_DELTA_GPIO_PIN_KEYBRD_PWR 248
|
|
||||||
#define AMS_DELTA_GPIO_PIN_KEYBRD_DATAOUT 249
|
|
||||||
#define AMS_DELTA_GPIO_PIN_SCARD_RSTIN 250
|
|
||||||
#define AMS_DELTA_GPIO_PIN_SCARD_CMDVCC 251
|
|
||||||
#define AMS_DELTA_GPIO_PIN_MODEM_NRESET 252
|
|
||||||
#define AMS_DELTA_GPIO_PIN_MODEM_CODEC 253
|
|
||||||
|
|
||||||
#define AMS_DELTA_LATCH2_GPIO_BASE AMS_DELTA_GPIO_PIN_LCD_VBLEN
|
|
||||||
#define AMS_DELTA_LATCH2_NGPIO 16
|
|
||||||
|
|
||||||
#endif /* CONFIG_MACH_AMS_DELTA */
|
#endif /* CONFIG_MACH_AMS_DELTA */
|
||||||
|
|
||||||
#endif /* __ASM_ARCH_OMAP_AMS_DELTA_H */
|
#endif /* __ASM_ARCH_OMAP_AMS_DELTA_H */
|
|
@ -43,6 +43,7 @@
|
||||||
#include <mach/hardware.h>
|
#include <mach/hardware.h>
|
||||||
#include <mach/usb.h>
|
#include <mach/usb.h>
|
||||||
|
|
||||||
|
#include "mmc.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
|
||||||
#define PALMTE_USBDETECT_GPIO 0
|
#define PALMTE_USBDETECT_GPIO 0
|
||||||
|
@ -208,6 +209,33 @@ static void __init palmte_misc_gpio_setup(void)
|
||||||
gpio_direction_input(PALMTE_USB_OR_DC_GPIO);
|
gpio_direction_input(PALMTE_USB_OR_DC_GPIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if IS_ENABLED(CONFIG_MMC_OMAP)
|
||||||
|
|
||||||
|
static struct omap_mmc_platform_data _palmte_mmc_config = {
|
||||||
|
.nr_slots = 1,
|
||||||
|
.slots[0] = {
|
||||||
|
.ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34,
|
||||||
|
.name = "mmcblk",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct omap_mmc_platform_data *palmte_mmc_config[OMAP15XX_NR_MMC] = {
|
||||||
|
[0] = &_palmte_mmc_config,
|
||||||
|
};
|
||||||
|
|
||||||
|
static void palmte_mmc_init(void)
|
||||||
|
{
|
||||||
|
omap1_init_mmc(palmte_mmc_config, OMAP15XX_NR_MMC);
|
||||||
|
}
|
||||||
|
|
||||||
|
#else /* CONFIG_MMC_OMAP */
|
||||||
|
|
||||||
|
static void palmte_mmc_init(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* CONFIG_MMC_OMAP */
|
||||||
|
|
||||||
static void __init omap_palmte_init(void)
|
static void __init omap_palmte_init(void)
|
||||||
{
|
{
|
||||||
/* mux pins for uarts */
|
/* mux pins for uarts */
|
||||||
|
@ -228,6 +256,7 @@ static void __init omap_palmte_init(void)
|
||||||
omap_register_i2c_bus(1, 100, NULL, 0);
|
omap_register_i2c_bus(1, 100, NULL, 0);
|
||||||
|
|
||||||
omapfb_set_lcd_config(&palmte_lcd_config);
|
omapfb_set_lcd_config(&palmte_lcd_config);
|
||||||
|
palmte_mmc_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E")
|
MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E")
|
||||||
|
|
|
@ -968,7 +968,7 @@ late_initcall(omap_clk_enable_autoidle_all);
|
||||||
|
|
||||||
static struct dentry *clk_debugfs_root;
|
static struct dentry *clk_debugfs_root;
|
||||||
|
|
||||||
static int clk_dbg_show_summary(struct seq_file *s, void *unused)
|
static int debug_clock_show(struct seq_file *s, void *unused)
|
||||||
{
|
{
|
||||||
struct clk *c;
|
struct clk *c;
|
||||||
struct clk *pa;
|
struct clk *pa;
|
||||||
|
@ -988,17 +988,7 @@ static int clk_dbg_show_summary(struct seq_file *s, void *unused)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int clk_dbg_open(struct inode *inode, struct file *file)
|
DEFINE_SHOW_ATTRIBUTE(debug_clock);
|
||||||
{
|
|
||||||
return single_open(file, clk_dbg_show_summary, inode->i_private);
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct file_operations debug_clock_fops = {
|
|
||||||
.open = clk_dbg_open,
|
|
||||||
.read = seq_read,
|
|
||||||
.llseek = seq_lseek,
|
|
||||||
.release = single_release,
|
|
||||||
};
|
|
||||||
|
|
||||||
static int clk_debugfs_register_one(struct clk *c)
|
static int clk_debugfs_register_one(struct clk *c)
|
||||||
{
|
{
|
||||||
|
|
|
@ -244,6 +244,9 @@ struct platform_device omap_spi2 = {
|
||||||
|
|
||||||
static void omap_init_spi100k(void)
|
static void omap_init_spi100k(void)
|
||||||
{
|
{
|
||||||
|
if (!cpu_is_omap7xx())
|
||||||
|
return;
|
||||||
|
|
||||||
omap_spi1.dev.platform_data = ioremap(OMAP7XX_SPI1_BASE, 0x7ff);
|
omap_spi1.dev.platform_data = ioremap(OMAP7XX_SPI1_BASE, 0x7ff);
|
||||||
if (omap_spi1.dev.platform_data)
|
if (omap_spi1.dev.platform_data)
|
||||||
platform_device_register(&omap_spi1);
|
platform_device_register(&omap_spi1);
|
||||||
|
|
|
@ -200,10 +200,10 @@ void __init omap_check_revision(void)
|
||||||
printk(KERN_INFO "Unknown OMAP cpu type: 0x%02x\n", cpu_type);
|
printk(KERN_INFO "Unknown OMAP cpu type: 0x%02x\n", cpu_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
printk(KERN_INFO "OMAP%04x", omap_revision >> 16);
|
pr_info("OMAP%04x", omap_revision >> 16);
|
||||||
if ((omap_revision >> 8) & 0xff)
|
if ((omap_revision >> 8) & 0xff)
|
||||||
printk(KERN_INFO "%x", (omap_revision >> 8) & 0xff);
|
pr_cont("%x", (omap_revision >> 8) & 0xff);
|
||||||
printk(KERN_INFO " revision %i handled as %02xxx id: %08x%08x\n",
|
pr_cont(" revision %i handled as %02xxx id: %08x%08x\n",
|
||||||
die_rev, omap_revision & 0xff, system_serial_low,
|
die_rev, omap_revision & 0xff, system_serial_low,
|
||||||
system_serial_high);
|
system_serial_high);
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
#include <linux/platform_data/usb-omap1.h>
|
#include <linux/platform_data/usb-omap1.h>
|
||||||
|
|
||||||
#if IS_ENABLED(CONFIG_USB)
|
#if IS_ENABLED(CONFIG_USB_SUPPORT)
|
||||||
void omap1_usb_init(struct omap_usb_config *pdata);
|
void omap1_usb_init(struct omap_usb_config *pdata);
|
||||||
#else
|
#else
|
||||||
static inline void omap1_usb_init(struct omap_usb_config *pdata)
|
static inline void omap1_usb_init(struct omap_usb_config *pdata)
|
||||||
|
|
|
@ -532,18 +532,7 @@ static int omap_pm_debug_show(struct seq_file *m, void *v)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int omap_pm_debug_open(struct inode *inode, struct file *file)
|
DEFINE_SHOW_ATTRIBUTE(omap_pm_debug);
|
||||||
{
|
|
||||||
return single_open(file, omap_pm_debug_show,
|
|
||||||
&inode->i_private);
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct file_operations omap_pm_debug_fops = {
|
|
||||||
.open = omap_pm_debug_open,
|
|
||||||
.read = seq_read,
|
|
||||||
.llseek = seq_lseek,
|
|
||||||
.release = single_release,
|
|
||||||
};
|
|
||||||
|
|
||||||
static void omap_pm_init_debugfs(void)
|
static void omap_pm_init_debugfs(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -199,8 +199,8 @@ void __init omap2xxx_check_revision(void)
|
||||||
|
|
||||||
pr_info("%s", soc_name);
|
pr_info("%s", soc_name);
|
||||||
if ((omap_rev() >> 8) & 0x0f)
|
if ((omap_rev() >> 8) & 0x0f)
|
||||||
pr_info("%s", soc_rev);
|
pr_cont("%s", soc_rev);
|
||||||
pr_info("\n");
|
pr_cont("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
#define OMAP3_SHOW_FEATURE(feat) \
|
#define OMAP3_SHOW_FEATURE(feat) \
|
||||||
|
|
Loading…
Reference in New Issue