lctr-a9xx: update kernel configuration and patches.

This commit is contained in:
Ricardo Martins 2014-01-31 05:28:46 +00:00
parent bc9064fcce
commit 26e028f142
11 changed files with 257 additions and 495 deletions

View File

@ -285,6 +285,7 @@ CONFIG_ARCH_MULTI_V6_V7=y
# CONFIG_ARCH_BCM2835 is not set # CONFIG_ARCH_BCM2835 is not set
# CONFIG_ARCH_CNS3XXX is not set # CONFIG_ARCH_CNS3XXX is not set
# CONFIG_GPIO_PCA953X is not set # CONFIG_GPIO_PCA953X is not set
# CONFIG_KEYBOARD_GPIO_POLLED is not set
# CONFIG_ARCH_HIGHBANK is not set # CONFIG_ARCH_HIGHBANK is not set
# CONFIG_ARCH_KEYSTONE is not set # CONFIG_ARCH_KEYSTONE is not set
# CONFIG_ARCH_MXC is not set # CONFIG_ARCH_MXC is not set
@ -988,7 +989,7 @@ CONFIG_USB_NET_ZAURUS=y
# #
CONFIG_INPUT=y CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set # CONFIG_INPUT_FF_MEMLESS is not set
CONFIG_INPUT_POLLDEV=m # CONFIG_INPUT_POLLDEV is not set
# CONFIG_INPUT_SPARSEKMAP is not set # CONFIG_INPUT_SPARSEKMAP is not set
# CONFIG_INPUT_MATRIXKMAP is not set # CONFIG_INPUT_MATRIXKMAP is not set
@ -1003,7 +1004,31 @@ CONFIG_INPUT_EVDEV=y
# #
# Input Device Drivers # Input Device Drivers
# #
# CONFIG_INPUT_KEYBOARD is not set CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
# CONFIG_KEYBOARD_ATKBD is not set
# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_LKKBD is not set
CONFIG_KEYBOARD_GPIO=y
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_LM8333 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_SH_KEYSC is not set
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_TWL4030 is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_INPUT_MOUSE is not set # CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set # CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set # CONFIG_INPUT_TABLET is not set
@ -1403,6 +1428,7 @@ CONFIG_MFD_CORE=y
# CONFIG_MFD_SYSCON is not set # CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TI_AM335X_TSCADC is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set
# CONFIG_MFD_LP8788 is not set # CONFIG_MFD_LP8788 is not set
CONFIG_MFD_OMAP_USB_HOST=y
# CONFIG_MFD_PALMAS is not set # CONFIG_MFD_PALMAS is not set
# CONFIG_TPS6105X is not set # CONFIG_TPS6105X is not set
# CONFIG_TPS65010 is not set # CONFIG_TPS65010 is not set
@ -1623,24 +1649,41 @@ CONFIG_USB_DEFAULT_PERSIST=y
# #
# CONFIG_USB_C67X00_HCD is not set # CONFIG_USB_C67X00_HCD is not set
# CONFIG_USB_XHCI_HCD is not set # CONFIG_USB_XHCI_HCD is not set
# CONFIG_USB_EHCI_HCD is not set CONFIG_USB_EHCI_HCD=y
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_EHCI_HCD_OMAP=y
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
# CONFIG_USB_OXU210HP_HCD is not set # CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set # CONFIG_USB_ISP1760_HCD is not set
# CONFIG_USB_ISP1362_HCD is not set # CONFIG_USB_ISP1362_HCD is not set
# CONFIG_USB_FUSBH200_HCD is not set # CONFIG_USB_FUSBH200_HCD is not set
# CONFIG_USB_FOTG210_HCD is not set # CONFIG_USB_FOTG210_HCD is not set
# CONFIG_USB_OHCI_HCD is not set CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_OMAP3=y
# CONFIG_USB_OHCI_HCD_PLATFORM is not set
# CONFIG_USB_SL811_HCD is not set # CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set # CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_HCD_TEST_MODE is not set # CONFIG_USB_HCD_TEST_MODE is not set
# CONFIG_USB_MUSB_HDRC is not set CONFIG_USB_MUSB_HDRC=y
# CONFIG_USB_MUSB_HOST is not set
# CONFIG_USB_MUSB_GADGET is not set
CONFIG_USB_MUSB_DUAL_ROLE=y
CONFIG_USB_MUSB_TUSB6010=y
# CONFIG_USB_MUSB_OMAP2PLUS is not set
# CONFIG_USB_MUSB_AM35X is not set
# CONFIG_USB_MUSB_DSPS is not set
# CONFIG_USB_MUSB_UX500 is not set
# CONFIG_USB_TI_CPPI41_DMA is not set
# CONFIG_USB_TUSB_OMAP_DMA is not set
CONFIG_MUSB_PIO_ONLY=y
# CONFIG_USB_RENESAS_USBHS is not set # CONFIG_USB_RENESAS_USBHS is not set
# #
# USB Device Class drivers # USB Device Class drivers
# #
# CONFIG_USB_ACM is not set CONFIG_USB_ACM=y
# CONFIG_USB_PRINTER is not set # CONFIG_USB_PRINTER is not set
# CONFIG_USB_WDM is not set # CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set # CONFIG_USB_TMC is not set
@ -1679,7 +1722,59 @@ CONFIG_USB_STORAGE=y
# #
# USB port drivers # USB port drivers
# #
# CONFIG_USB_SERIAL is not set CONFIG_USB_SERIAL=y
# CONFIG_USB_SERIAL_CONSOLE is not set
# CONFIG_USB_SERIAL_GENERIC is not set
# CONFIG_USB_SERIAL_SIMPLE is not set
# CONFIG_USB_SERIAL_AIRCABLE is not set
# CONFIG_USB_SERIAL_ARK3116 is not set
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_CH341 is not set
# CONFIG_USB_SERIAL_WHITEHEAT is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
# CONFIG_USB_SERIAL_CP210X is not set
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
# CONFIG_USB_SERIAL_EMPEG is not set
# CONFIG_USB_SERIAL_FTDI_SIO is not set
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_IPAQ is not set
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_F81232 is not set
# CONFIG_USB_SERIAL_GARMIN is not set
# CONFIG_USB_SERIAL_IPW is not set
# CONFIG_USB_SERIAL_IUU is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_METRO is not set
# CONFIG_USB_SERIAL_MOS7720 is not set
# CONFIG_USB_SERIAL_MOS7840 is not set
# CONFIG_USB_SERIAL_NAVMAN is not set
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_OTI6858 is not set
# CONFIG_USB_SERIAL_QCAUX is not set
# CONFIG_USB_SERIAL_QUALCOMM is not set
# CONFIG_USB_SERIAL_SPCP8X5 is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
# CONFIG_USB_SERIAL_SYMBOL is not set
# CONFIG_USB_SERIAL_TI is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_XIRCOM is not set
CONFIG_USB_SERIAL_WWAN=y
CONFIG_USB_SERIAL_OPTION=y
# CONFIG_USB_SERIAL_OMNINET is not set
# CONFIG_USB_SERIAL_OPTICON is not set
# CONFIG_USB_SERIAL_XSENS_MT is not set
# CONFIG_USB_SERIAL_WISHBONE is not set
# CONFIG_USB_SERIAL_ZTE is not set
# CONFIG_USB_SERIAL_SSU100 is not set
# CONFIG_USB_SERIAL_QT2 is not set
# CONFIG_USB_SERIAL_DEBUG is not set
# #
# USB Miscellaneous drivers # USB Miscellaneous drivers
@ -1697,6 +1792,7 @@ CONFIG_USB_STORAGE=y
# CONFIG_USB_IDMOUSE is not set # CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set # CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set # CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set # CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set # CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set # CONFIG_USB_IOWARRIOR is not set
@ -1740,10 +1836,17 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
# CONFIG_USB_M66592 is not set # CONFIG_USB_M66592 is not set
# CONFIG_USB_NET2272 is not set # CONFIG_USB_NET2272 is not set
# CONFIG_USB_DUMMY_HCD is not set # CONFIG_USB_DUMMY_HCD is not set
CONFIG_USB_LIBCOMPOSITE=y
CONFIG_USB_U_ETHER=y
CONFIG_USB_U_RNDIS=y
CONFIG_USB_F_ECM=y
CONFIG_USB_F_SUBSET=y
# CONFIG_USB_CONFIGFS is not set # CONFIG_USB_CONFIGFS is not set
# CONFIG_USB_ZERO is not set # CONFIG_USB_ZERO is not set
# CONFIG_USB_AUDIO is not set # CONFIG_USB_AUDIO is not set
# CONFIG_USB_ETH is not set CONFIG_USB_ETH=y
# CONFIG_USB_ETH_RNDIS is not set
# CONFIG_USB_ETH_EEM is not set
# CONFIG_USB_G_NCM is not set # CONFIG_USB_G_NCM is not set
# CONFIG_USB_GADGETFS is not set # CONFIG_USB_GADGETFS is not set
# CONFIG_USB_FUNCTIONFS is not set # CONFIG_USB_FUNCTIONFS is not set
@ -1812,7 +1915,20 @@ CONFIG_LEDS_GPIO=y
# #
# LED Triggers # LED Triggers
# #
# CONFIG_LEDS_TRIGGERS is not set CONFIG_LEDS_TRIGGERS=y
# CONFIG_LEDS_TRIGGER_TIMER is not set
CONFIG_LEDS_TRIGGER_ONESHOT=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
# CONFIG_LEDS_TRIGGER_CPU is not set
# CONFIG_LEDS_TRIGGER_GPIO is not set
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
#
# iptables trigger is under Netfilter config (LED target)
#
# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
# CONFIG_LEDS_TRIGGER_CAMERA is not set
# CONFIG_ACCESSIBILITY is not set # CONFIG_ACCESSIBILITY is not set
# CONFIG_EDAC is not set # CONFIG_EDAC is not set
CONFIG_RTC_LIB=y CONFIG_RTC_LIB=y
@ -1834,7 +1950,7 @@ CONFIG_RTC_INTF_DEV=y
# #
# I2C RTC drivers # I2C RTC drivers
# #
# CONFIG_RTC_DRV_DS1307 is not set CONFIG_RTC_DRV_DS1307=y
# CONFIG_RTC_DRV_DS1374 is not set # CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set # CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_DS3232 is not set # CONFIG_RTC_DRV_DS3232 is not set
@ -1849,7 +1965,7 @@ CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_DRV_PCF8583 is not set # CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set # CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set # CONFIG_RTC_DRV_BQ32K is not set
CONFIG_RTC_DRV_TWL4030=y # CONFIG_RTC_DRV_TWL4030 is not set
# CONFIG_RTC_DRV_S35390A is not set # CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set # CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8581 is not set # CONFIG_RTC_DRV_RX8581 is not set
@ -2002,6 +2118,7 @@ CONFIG_FS_MBCACHE=y
# CONFIG_JFS_FS is not set # CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set # CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set # CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set # CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set # CONFIG_NILFS2_FS is not set
# CONFIG_FS_POSIX_ACL is not set # CONFIG_FS_POSIX_ACL is not set
@ -2047,7 +2164,7 @@ CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set # CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_TMPFS_XATTR is not set # CONFIG_TMPFS_XATTR is not set
# CONFIG_HUGETLB_PAGE is not set # CONFIG_HUGETLB_PAGE is not set
# CONFIG_CONFIGFS_FS is not set CONFIG_CONFIGFS_FS=y
# CONFIG_MISC_FILESYSTEMS is not set # CONFIG_MISC_FILESYSTEMS is not set
# CONFIG_NETWORK_FILESYSTEMS is not set # CONFIG_NETWORK_FILESYSTEMS is not set
CONFIG_NLS=y CONFIG_NLS=y
@ -2101,6 +2218,7 @@ CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_MAC_ROMANIAN is not set # CONFIG_NLS_MAC_ROMANIAN is not set
# CONFIG_NLS_MAC_TURKISH is not set # CONFIG_NLS_MAC_TURKISH is not set
CONFIG_NLS_UTF8=y CONFIG_NLS_UTF8=y
# CONFIG_DLM is not set
# #
# Kernel hacking # Kernel hacking

View File

@ -6,7 +6,7 @@ cfg_services1='huawei ntpd'
cfg_services2='dune' cfg_services2='dune'
cfg_packages='u-boot dropbear rsync busybox linux uswitch ppp iptables socat bridge-utils ntp e2fsprogs i2c-tools iperf dnsmasq' cfg_packages='u-boot dropbear rsync busybox linux uswitch ppp iptables socat bridge-utils ntp e2fsprogs i2c-tools iperf dnsmasq'
cfg_target_linux_kernel='arch/arm/boot/zImage' cfg_target_linux_kernel='arch/arm/boot/zImage'
cfg_target_linux_dtb='arch/arm/boot/dts/omap3-igep0020.dtb' cfg_target_linux_dtb='arch/arm/boot/dts/omap3-igep0020-manta.dtb'
cfg_target_uboot_config='igep0020_lsts' cfg_target_uboot_config='igep0020_lsts'
cfg_terminal='ttyO2' cfg_terminal='ttyO2'
cfg_ntpd_config='/etc/ntp/server.cfg' cfg_ntpd_config='/etc/ntp/server.cfg'

View File

@ -0,0 +1,10 @@
--- linux-3.13/arch/arm/boot/dts/Makefile 2014-01-20 02:40:07.000000000 +0000
+++ linux-3.13.rasm/arch/arm/boot/dts/Makefile 2014-01-31 03:29:41.495659458 +0000
@@ -185,6 +185,7 @@
omap3-tobi.dtb \
omap3-gta04.dtb \
omap3-igep0020.dtb \
+ omap3-igep0020-manta.dtb \
omap3-igep0030.dtb \
omap3-zoom3.dtb \
omap4-panda.dtb \

View File

@ -0,0 +1,116 @@
--- linux-3.13/arch/arm/boot/dts/omap3-igep0020-manta.dts 1970-01-01 01:00:00.000000000 +0100
+++ linux-3.13.rasm/arch/arm/boot/dts/omap3-igep0020-manta.dts 2014-01-31 03:30:13.453357542 +0000
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2014 Universidade do Porto - Faculdade de Engenharia
+ *
+ * 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 <dt-bindings/input/input.h>
+#include "omap3-igep0020.dts"
+
+/ {
+ model = "Manta A2XX/A3XX";
+ compatible = "isee,omap3-igep0020", "ti,omap3";
+
+ leds {
+ boot {
+ linux,default-trigger = "heartbeat";
+ };
+ };
+
+ gpio_keys {
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpio_keys_pins>;
+ compatible = "gpio-keys";
+
+ button0 {
+ label = "Button 0";
+ gpios = <&gpio5 11 GPIO_ACTIVE_HIGH>; /* gpio_139 */
+ linux,code = <BTN_0>;
+ debounce-interval = <5>;
+ };
+
+ button1 {
+ label = "Button 1";
+ gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>; /* gpio_138 */
+ linux,code = <BTN_1>;
+ debounce-interval = <5>;
+ };
+
+ button2 {
+ label = "Button 2";
+ gpios = <&gpio5 9 GPIO_ACTIVE_HIGH>; /* gpio_137 */
+ linux,code = <BTN_2>;
+ debounce-interval = <5>;
+ };
+ };
+
+ pps {
+ compatible = "pps-gpio";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pps_pins>;
+ gpios = <&gpio5 8 GPIO_ACTIVE_HIGH>;
+ assert-rising-edge;
+ };
+};
+
+&omap3_pmx_core {
+ gpio_keys_pins: pinmux_gpio_keys_pins {
+ pinctrl-single,pins = <
+ 0x136 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* gpio_137 - button 2 */
+ 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* gpio_138 - button 1 */
+ 0x13a (PIN_INPUT_PULLDOWN | MUX_MODE4) /* gpio_139 - button 0 */
+ >;
+ };
+
+ pps_pins: pinmux_pps_pins {
+ pinctrl-single,pins = <
+ 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* gpio_136 */
+ >;
+ };
+
+ panel_pins: pinmux_panel_pins {
+ pinctrl-single,pins = <
+ 0x130 (PIN_OUTPUT | MUX_MODE4) /* gpio_133 - panel backlight */
+ 0x132 (PIN_OUTPUT | MUX_MODE4) /* gpio_135 - panel LED */
+ >;
+ };
+
+ txd_pins: pinmux_txd_pins {
+ pinctrl-single,pins = <
+ 0x15e (PIN_INPUT_PULLUP | MUX_MODE4) /* gpio_157 */
+ >;
+ };
+
+ uart1_rs232_pins: pinmux_uart1_rs232_pins {
+ pinctrl-single,pins = <
+ 0x150 (PIN_INPUT | MUX_MODE4) /* uart1_cts.gpio_150 */
+ 0x14e (PIN_INPUT | MUX_MODE4) /* uart1_rts.gpio_149 */
+ >;
+ };
+};
+
+&i2c2 {
+ rtc@68 {
+ compatible = "dallas,ds1307";
+ reg = <0x68>;
+ };
+};
+
+/* Disable WiFi/Bluetooth combo. */
+&mmc2 {
+ status = "disabled";
+};
+
+&vdd33 {
+ status = "disabled";
+};
+
+&lbee1usjyc_vmmc {
+ status = "disabled";
+};
+

View File

@ -1,16 +0,0 @@
--- linux-omap-2.6.35.9-0.ori/drivers/usb/serial/option.c 2010-11-23 07:41:25.000000000 +0000
+++ linux-omap-2.6.35.9-0/drivers/usb/serial/option.c 2010-12-10 04:07:00.352473367 +0000
@@ -1050,6 +1050,13 @@
serial->interface->cur_altsetting->desc.bInterfaceNumber == 1)
return -ENODEV;
+ /* Don't bind useless interfaces on Huawei E1550 */
+ if ((serial->dev->descriptor.idVendor == HUAWEI_VENDOR_ID &&
+ serial->dev->descriptor.idProduct == 0x140C) &&
+ (serial->interface->cur_altsetting->desc.bInterfaceNumber == 1 ||
+ serial->interface->cur_altsetting->desc.bInterfaceNumber == 2))
+ return -ENODEV;
+
data = serial->private = kzalloc(sizeof(struct usb_wwan_intf_private), GFP_KERNEL);
if (!data)

View File

@ -1,11 +0,0 @@
--- linux-3.3.1/arch/arm/mach-omap2/Makefile 2012-04-02 18:32:52.000000000 +0100
+++ linux-3.3.1.rasm/arch/arm/mach-omap2/Makefile 2012-05-07 18:24:37.490190256 +0100
@@ -224,7 +224,7 @@
board-zoom-display.o
obj-$(CONFIG_MACH_CM_T35) += board-cm-t35.o
obj-$(CONFIG_MACH_CM_T3517) += board-cm-t3517.o
-obj-$(CONFIG_MACH_IGEP0020) += board-igep0020.o
+obj-$(CONFIG_MACH_IGEP0020) += board-igep0020.o manta-axxx.o
obj-$(CONFIG_MACH_OMAP3_TOUCHBOOK) += board-omap3touchbook.o
obj-$(CONFIG_MACH_OMAP_4430SDP) += board-4430sdp.o
obj-$(CONFIG_MACH_OMAP4_PANDA) += board-omap4panda.o

View File

@ -1,22 +0,0 @@
--- linux-3.3.1/arch/arm/mach-omap2/board-igep0020.c 2012-04-02 18:32:52.000000000 +0100
+++ linux-3.3.1.rasm/arch/arm/mach-omap2/board-igep0020.c 2012-05-07 18:24:05.423120776 +0100
@@ -633,6 +633,9 @@
static inline void __init igep_wlan_bt_init(void) { }
#endif
+/* Customization for Manta Axxx */
+extern void __init manta_axxx_init(void);
+
static void __init igep_init(void)
{
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
@@ -650,6 +653,9 @@
igep_flash_init();
igep_leds_init();
+ /* Customization for Manta A2xx */
+ manta_axxx_init();
+
/*
* WLAN-BT combo module from MuRata which has a Marvell WLAN
* (88W8686) + CSR Bluetooth chipset. Uses SDIO interface.

View File

@ -1,143 +0,0 @@
--- /dev/null 2012-10-06 13:48:21.217530758 +0100
+++ linux-3.5.4/arch/arm/mach-omap2/manta-axxx.c 2012-10-08 16:02:17.605353112 +0100
@@ -0,0 +1,140 @@
+//***************************************************************************
+// Copyright (C) 2010 Laboratório de Sistemas e Tecnologia Subaquática *
+// Departamento de Engenharia Electrotécnica e de Computadores *
+// Rua Dr. Roberto Frias, 4200-465 Porto, Portugal *
+//***************************************************************************
+// Author: Ricardo Martins *
+//***************************************************************************
+
+// Linux headers.
+#include <linux/gpio.h>
+#include <linux/gpio_keys.h>
+#include <linux/i2c.h>
+#include <linux/input.h>
+#include <linux/interrupt.h>
+#include <linux/irq.h>
+#include <linux/platform_device.h>
+#include <linux/slab.h>
+#include <linux/time.h>
+#include <linux/timer.h>
+#include <plat/i2c.h>
+#include <linux/pps-gpio.h>
+
+// Machine headers.
+#include "mux.h"
+
+// Buttons
+#define MANTA_AXXX_GPIO_BTN0 139
+#define MANTA_AXXX_GPIO_BTN1 138
+#define MANTA_AXXX_GPIO_BTN2 137
+
+// PPS
+#define MANTA_AXXX_GPIO_PPS0 136
+
+// Transducer connected
+#define MANTA_AXXX_GPIO_TXDC 157
+
+// Outputs
+#define MANTA_AXXX_GPIO_LED0 135
+#define MANTA_AXXX_GPIO_LCDL 133
+
+static struct gpio_keys_button manta_axxx_gpio_buttons[] =
+{
+ {
+ .code = BTN_0,
+ .gpio = MANTA_AXXX_GPIO_BTN0,
+ .desc = "btn0",
+ .wakeup = 1,
+ .debounce_interval = 2,
+ },
+ {
+ .code = BTN_1,
+ .gpio = MANTA_AXXX_GPIO_BTN1,
+ .desc = "btn1",
+ .wakeup = 1,
+ .debounce_interval = 2,
+ },
+ {
+ .code = BTN_2,
+ .gpio = MANTA_AXXX_GPIO_BTN2,
+ .desc = "btn2",
+ .wakeup = 1,
+ .debounce_interval = 2,
+ },
+};
+
+static struct gpio_keys_platform_data manta_axxx_gpio_key_info =
+{
+ .buttons = manta_axxx_gpio_buttons,
+ .nbuttons = ARRAY_SIZE(manta_axxx_gpio_buttons),
+};
+
+static struct platform_device manta_axxx_keys_gpio =
+{
+ .name = "gpio-keys",
+ .id = -1,
+ .dev = {
+ .platform_data = &manta_axxx_gpio_key_info,
+ },
+};
+
+static struct platform_device* manta_axxx_devices[] __initdata =
+{
+ &manta_axxx_keys_gpio
+};
+
+static struct i2c_board_info __initdata i2c_devices[] =
+{
+ {
+ I2C_BOARD_INFO("ds1307", 0x68),
+ },
+};
+
+/* PPS-GPIO platform data */
+static struct pps_gpio_platform_data pps_gpio_info = {
+ .assert_falling_edge = false,
+ .capture_clear = false,
+ .gpio_pin = MANTA_AXXX_GPIO_PPS0,
+ .gpio_label = "PPS",
+};
+
+static struct platform_device pps_gpio_device = {
+ .name = "pps-gpio",
+ .id = -1,
+ .dev = {
+ .platform_data = &pps_gpio_info
+ },
+};
+
+void __init
+manta_axxx_init(void)
+{
+ // Initialize GPIOs.
+ omap_mux_init_gpio(MANTA_AXXX_GPIO_PPS0, OMAP_PIN_INPUT);
+ omap_mux_init_gpio(MANTA_AXXX_GPIO_BTN0, OMAP_PIN_INPUT_PULLDOWN);
+ omap_mux_init_gpio(MANTA_AXXX_GPIO_BTN1, OMAP_PIN_INPUT_PULLDOWN);
+ omap_mux_init_gpio(MANTA_AXXX_GPIO_BTN2, OMAP_PIN_INPUT_PULLDOWN);
+ omap_mux_init_gpio(MANTA_AXXX_GPIO_TXDC, OMAP_PIN_INPUT_PULLUP);
+ omap_mux_init_gpio(MANTA_AXXX_GPIO_LED0, OMAP_PIN_OUTPUT);
+ omap_mux_init_gpio(MANTA_AXXX_GPIO_LCDL, OMAP_PIN_OUTPUT);
+
+ // Initialize PPS.
+ if (platform_device_register(&pps_gpio_device))
+ pr_warning("failed to register PPS GPIO");
+
+ omap_register_i2c_bus(2, 100, i2c_devices, ARRAY_SIZE(i2c_devices));
+
+ if (gpio_request(MANTA_AXXX_GPIO_LED0, "Status LED") == 0)
+ {
+ gpio_direction_output(MANTA_AXXX_GPIO_LED0, 1);
+ gpio_export(MANTA_AXXX_GPIO_LED0, 1);
+ }
+
+ if (gpio_request(MANTA_AXXX_GPIO_LCDL, "LCD Backlight") == 0)
+ {
+ gpio_direction_output(MANTA_AXXX_GPIO_LCDL, 1);
+ gpio_export(MANTA_AXXX_GPIO_LCDL, 1);
+ }
+
+ platform_add_devices(manta_axxx_devices, ARRAY_SIZE(manta_axxx_devices));
+}

View File

@ -1,249 +0,0 @@
From 603684c9a5f62460cd63147d25dd13c7a7395e1d Mon Sep 17 00:00:00 2001
From: Paolo Pisati <paolo.pisati@canonical.com>
Date: Sun, 24 Jun 2012 16:31:18 +0000
Subject: [PATCH 1/3] UBUNTU: SAUCE: Revert "Fix OMAP EHCI suspend/resume
failure (i693)"
This reverts commit 354ab8567ae3107a8cbe7228c3181990ba598aac.
BugLink: http://bugs/launchpad.net/bugs/1017718
Here is the thread where they discuss the issue:
http://comments.gmane.org/gmane.linux.usb.general/66239
"OMAP: USB : Fix the EHCI enumeration and core retention issue"
Revert will come down in one of the following 3.5rcX, in the mean time
we do it on our own.
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
---
drivers/usb/host/ehci-omap.c | 168 +-----------------------------------------
1 file changed, 1 insertion(+), 167 deletions(-)
diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
index 17cfb8a..a44294d 100644
--- a/drivers/usb/host/ehci-omap.c
+++ b/drivers/usb/host/ehci-omap.c
@@ -43,7 +43,6 @@
#include <linux/regulator/consumer.h>
#include <linux/pm_runtime.h>
#include <linux/gpio.h>
-#include <linux/clk.h>
/* EHCI Register Set */
#define EHCI_INSNREG04 (0xA0)
@@ -56,15 +55,6 @@
#define EHCI_INSNREG05_ULPI_EXTREGADD_SHIFT 8
#define EHCI_INSNREG05_ULPI_WRDATA_SHIFT 0
-/* Errata i693 */
-static struct clk *utmi_p1_fck;
-static struct clk *utmi_p2_fck;
-static struct clk *xclk60mhsp1_ck;
-static struct clk *xclk60mhsp2_ck;
-static struct clk *usbhost_p1_fck;
-static struct clk *usbhost_p2_fck;
-static struct clk *init_60m_fclk;
-
/*-------------------------------------------------------------------------*/
static const struct hc_driver ehci_omap_hc_driver;
@@ -80,41 +70,6 @@ static inline u32 ehci_read(void __iomem *base, u32 reg)
return __raw_readl(base + reg);
}
-/* Erratum i693 workaround sequence */
-static void omap_ehci_erratum_i693(struct ehci_hcd *ehci)
-{
- int ret = 0;
-
- /* Switch to the internal 60 MHz clock */
- ret = clk_set_parent(utmi_p1_fck, init_60m_fclk);
- if (ret != 0)
- ehci_err(ehci, "init_60m_fclk set parent"
- "failed error:%d\n", ret);
-
- ret = clk_set_parent(utmi_p2_fck, init_60m_fclk);
- if (ret != 0)
- ehci_err(ehci, "init_60m_fclk set parent"
- "failed error:%d\n", ret);
-
- clk_enable(usbhost_p1_fck);
- clk_enable(usbhost_p2_fck);
-
- /* Wait 1ms and switch back to the external clock */
- mdelay(1);
- ret = clk_set_parent(utmi_p1_fck, xclk60mhsp1_ck);
- if (ret != 0)
- ehci_err(ehci, "xclk60mhsp1_ck set parent"
- "failed error:%d\n", ret);
-
- ret = clk_set_parent(utmi_p2_fck, xclk60mhsp2_ck);
- if (ret != 0)
- ehci_err(ehci, "xclk60mhsp2_ck set parent"
- "failed error:%d\n", ret);
-
- clk_disable(usbhost_p1_fck);
- clk_disable(usbhost_p2_fck);
-}
-
static void omap_ehci_soft_phy_reset(struct platform_device *pdev, u8 port)
{
struct usb_hcd *hcd = dev_get_drvdata(&pdev->dev);
@@ -145,50 +100,6 @@ static void omap_ehci_soft_phy_reset(struct platform_device *pdev, u8 port)
}
}
-static int omap_ehci_hub_control(
- struct usb_hcd *hcd,
- u16 typeReq,
- u16 wValue,
- u16 wIndex,
- char *buf,
- u16 wLength
-)
-{
- struct ehci_hcd *ehci = hcd_to_ehci(hcd);
- u32 __iomem *status_reg = &ehci->regs->port_status[
- (wIndex & 0xff) - 1];
- u32 temp;
- unsigned long flags;
- int retval = 0;
-
- spin_lock_irqsave(&ehci->lock, flags);
-
- if (typeReq == SetPortFeature && wValue == USB_PORT_FEAT_SUSPEND) {
- temp = ehci_readl(ehci, status_reg);
- if ((temp & PORT_PE) == 0 || (temp & PORT_RESET) != 0) {
- retval = -EPIPE;
- goto done;
- }
-
- temp &= ~PORT_WKCONN_E;
- temp |= PORT_WKDISC_E | PORT_WKOC_E;
- ehci_writel(ehci, temp | PORT_SUSPEND, status_reg);
-
- omap_ehci_erratum_i693(ehci);
-
- set_bit((wIndex & 0xff) - 1, &ehci->suspended_ports);
- goto done;
- }
-
- spin_unlock_irqrestore(&ehci->lock, flags);
-
- /* Handle the hub control events here */
- return ehci_hub_control(hcd, typeReq, wValue, wIndex, buf, wLength);
-done:
- spin_unlock_irqrestore(&ehci->lock, flags);
- return retval;
-}
-
static void disable_put_regulator(
struct ehci_hcd_omap_platform_data *pdata)
{
@@ -353,76 +264,8 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev)
/* root ports should always stay powered */
ehci_port_power(omap_ehci, 1);
- /* get clocks */
- utmi_p1_fck = clk_get(dev, "utmi_p1_gfclk");
- if (IS_ERR(utmi_p1_fck)) {
- ret = PTR_ERR(utmi_p1_fck);
- dev_err(dev, "utmi_p1_gfclk failed error:%d\n", ret);
- goto err_add_hcd;
- }
-
- xclk60mhsp1_ck = clk_get(dev, "xclk60mhsp1_ck");
- if (IS_ERR(xclk60mhsp1_ck)) {
- ret = PTR_ERR(xclk60mhsp1_ck);
- dev_err(dev, "xclk60mhsp1_ck failed error:%d\n", ret);
- goto err_utmi_p1_fck;
- }
-
- utmi_p2_fck = clk_get(dev, "utmi_p2_gfclk");
- if (IS_ERR(utmi_p2_fck)) {
- ret = PTR_ERR(utmi_p2_fck);
- dev_err(dev, "utmi_p2_gfclk failed error:%d\n", ret);
- goto err_xclk60mhsp1_ck;
- }
-
- xclk60mhsp2_ck = clk_get(dev, "xclk60mhsp2_ck");
- if (IS_ERR(xclk60mhsp2_ck)) {
- ret = PTR_ERR(xclk60mhsp2_ck);
- dev_err(dev, "xclk60mhsp2_ck failed error:%d\n", ret);
- goto err_utmi_p2_fck;
- }
-
- usbhost_p1_fck = clk_get(dev, "usb_host_hs_utmi_p1_clk");
- if (IS_ERR(usbhost_p1_fck)) {
- ret = PTR_ERR(usbhost_p1_fck);
- dev_err(dev, "usbhost_p1_fck failed error:%d\n", ret);
- goto err_xclk60mhsp2_ck;
- }
-
- usbhost_p2_fck = clk_get(dev, "usb_host_hs_utmi_p2_clk");
- if (IS_ERR(usbhost_p2_fck)) {
- ret = PTR_ERR(usbhost_p2_fck);
- dev_err(dev, "usbhost_p2_fck failed error:%d\n", ret);
- goto err_usbhost_p1_fck;
- }
-
- init_60m_fclk = clk_get(dev, "init_60m_fclk");
- if (IS_ERR(init_60m_fclk)) {
- ret = PTR_ERR(init_60m_fclk);
- dev_err(dev, "init_60m_fclk failed error:%d\n", ret);
- goto err_usbhost_p2_fck;
- }
-
return 0;
-err_usbhost_p2_fck:
- clk_put(usbhost_p2_fck);
-
-err_usbhost_p1_fck:
- clk_put(usbhost_p1_fck);
-
-err_xclk60mhsp2_ck:
- clk_put(xclk60mhsp2_ck);
-
-err_utmi_p2_fck:
- clk_put(utmi_p2_fck);
-
-err_xclk60mhsp1_ck:
- clk_put(xclk60mhsp1_ck);
-
-err_utmi_p1_fck:
- clk_put(utmi_p1_fck);
-
err_add_hcd:
disable_put_regulator(pdata);
pm_runtime_put_sync(dev);
@@ -451,15 +294,6 @@ static int ehci_hcd_omap_remove(struct platform_device *pdev)
disable_put_regulator(dev->platform_data);
iounmap(hcd->regs);
usb_put_hcd(hcd);
-
- clk_put(utmi_p1_fck);
- clk_put(utmi_p2_fck);
- clk_put(xclk60mhsp1_ck);
- clk_put(xclk60mhsp2_ck);
- clk_put(usbhost_p1_fck);
- clk_put(usbhost_p2_fck);
- clk_put(init_60m_fclk);
-
pm_runtime_put_sync(dev);
pm_runtime_disable(dev);
@@ -530,7 +364,7 @@ static const struct hc_driver ehci_omap_hc_driver = {
* root hub support
*/
.hub_status_data = ehci_hub_status_data,
- .hub_control = omap_ehci_hub_control,
+ .hub_control = ehci_hub_control,
.bus_suspend = ehci_bus_suspend,
.bus_resume = ehci_bus_resume,
--
1.7.9.5

View File

@ -1,30 +0,0 @@
diff -Nru linux-3.5.4/arch/arm/mach-omap2/board-igep0020.c linux-3.5.4.rasm/arch/arm/mach-omap2/board-igep0020.c
--- linux-3.5.4/arch/arm/mach-omap2/board-igep0020.c 2012-09-15 00:28:08.000000000 +0200
+++ linux-3.5.4.rasm/arch/arm/mach-omap2/board-igep0020.c 2012-10-10 19:57:57.928347091 +0200
@@ -611,6 +611,26 @@
regulator_register_fixed(1, dummy_supplies, ARRAY_SIZE(dummy_supplies));
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
+ /* Change ttyO0 from RS485 to RS232. */
+ omap_mux_init_signal("uart1_rts.safe_mode", 0);
+ omap_mux_init_signal("uart1_cts.safe_mode", 0);
+
+ omap_mux_init_gpio(150, OMAP_PIN_INPUT);
+ if (gpio_request(150, "UART1_RTS") == 0)
+ {
+ gpio_direction_input(150);
+ gpio_set_value(150, 0);
+ gpio_export(150, 1);
+ }
+
+ omap_mux_init_gpio(149, OMAP_PIN_INPUT);
+ if (gpio_request(149, "UART1_CTS") == 0)
+ {
+ gpio_direction_input(149);
+ gpio_set_value(149, 0);
+ gpio_export(149, 1);
+ }
+
/* Get IGEP2 hardware revision */
igep2_get_revision();

View File

@ -1,11 +0,0 @@
--- linux-3.5.4/arch/arm/mach-omap2/board-igep0020.c 2013-04-12 14:14:07.706131422 +0100
+++ linux-3.5.4.rasm/arch/arm/mach-omap2/board-igep0020.c 2013-04-12 14:12:18.810582649 +0100
@@ -554,6 +554,8 @@
#ifdef CONFIG_OMAP_MUX
static struct omap_board_mux board_mux[] __initdata = {
+ /* SMSC9221 LAN Controller ETH IRQ (GPIO_176) */
+ OMAP3_MUX(MCSPI1_CS2, OMAP_MUX_MODE4 | OMAP_PIN_INPUT),
{ .reg_offset = OMAP_MUX_TERMINATOR },
};
#endif