diff --git a/systems/lctr-a9xx/cfg/linux-3.13.cfg b/systems/lctr-a9xx/cfg/linux-3.13.cfg index 99fe538..8986b65 100644 --- a/systems/lctr-a9xx/cfg/linux-3.13.cfg +++ b/systems/lctr-a9xx/cfg/linux-3.13.cfg @@ -285,6 +285,7 @@ CONFIG_ARCH_MULTI_V6_V7=y # CONFIG_ARCH_BCM2835 is not set # CONFIG_ARCH_CNS3XXX is not set # CONFIG_GPIO_PCA953X is not set +# CONFIG_KEYBOARD_GPIO_POLLED is not set # CONFIG_ARCH_HIGHBANK is not set # CONFIG_ARCH_KEYSTONE is not set # CONFIG_ARCH_MXC is not set @@ -988,7 +989,7 @@ CONFIG_USB_NET_ZAURUS=y # CONFIG_INPUT=y # 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_MATRIXKMAP is not set @@ -1003,7 +1004,31 @@ CONFIG_INPUT_EVDEV=y # # 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_JOYSTICK 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_TI_AM335X_TSCADC is not set # CONFIG_MFD_LP8788 is not set +CONFIG_MFD_OMAP_USB_HOST=y # CONFIG_MFD_PALMAS is not set # CONFIG_TPS6105X 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_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_ISP116X_HCD is not set # CONFIG_USB_ISP1760_HCD is not set # CONFIG_USB_ISP1362_HCD is not set # CONFIG_USB_FUSBH200_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_R8A66597_HCD 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 # # USB Device Class drivers # -# CONFIG_USB_ACM is not set +CONFIG_USB_ACM=y # CONFIG_USB_PRINTER is not set # CONFIG_USB_WDM is not set # CONFIG_USB_TMC is not set @@ -1679,7 +1722,59 @@ CONFIG_USB_STORAGE=y # # 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 @@ -1697,6 +1792,7 @@ CONFIG_USB_STORAGE=y # CONFIG_USB_IDMOUSE is not set # CONFIG_USB_FTDI_ELAN is not set # CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_SISUSBVGA is not set # CONFIG_USB_LD is not set # CONFIG_USB_TRANCEVIBRATOR 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_NET2272 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_ZERO 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_GADGETFS is not set # CONFIG_USB_FUNCTIONFS is not set @@ -1812,7 +1915,20 @@ CONFIG_LEDS_GPIO=y # # 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_EDAC is not set CONFIG_RTC_LIB=y @@ -1834,7 +1950,7 @@ CONFIG_RTC_INTF_DEV=y # # 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_DS1672 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_M41T80 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_FM3130 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_XFS_FS is not set # CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set # CONFIG_BTRFS_FS is not set # CONFIG_NILFS2_FS 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_XATTR 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_NETWORK_FILESYSTEMS is not set CONFIG_NLS=y @@ -2101,6 +2218,7 @@ CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_MAC_ROMANIAN is not set # CONFIG_NLS_MAC_TURKISH is not set CONFIG_NLS_UTF8=y +# CONFIG_DLM is not set # # Kernel hacking diff --git a/systems/lctr-a9xx/config b/systems/lctr-a9xx/config index 8b1603f..e0e4df6 100644 --- a/systems/lctr-a9xx/config +++ b/systems/lctr-a9xx/config @@ -6,7 +6,7 @@ cfg_services1='huawei ntpd' cfg_services2='dune' 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_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_terminal='ttyO2' cfg_ntpd_config='/etc/ntp/server.cfg' diff --git a/systems/lctr-a9xx/patches/linux/patches-3.13/00-igep0020-manta-makefile.patch b/systems/lctr-a9xx/patches/linux/patches-3.13/00-igep0020-manta-makefile.patch new file mode 100644 index 0000000..d376ffc --- /dev/null +++ b/systems/lctr-a9xx/patches/linux/patches-3.13/00-igep0020-manta-makefile.patch @@ -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 \ diff --git a/systems/lctr-a9xx/patches/linux/patches-3.13/01-igep0020-manta-dts.patch b/systems/lctr-a9xx/patches/linux/patches-3.13/01-igep0020-manta-dts.patch new file mode 100644 index 0000000..7d8be5d --- /dev/null +++ b/systems/lctr-a9xx/patches/linux/patches-3.13/01-igep0020-manta-dts.patch @@ -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 ++#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 = ; ++ debounce-interval = <5>; ++ }; ++ ++ button1 { ++ label = "Button 1"; ++ gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>; /* gpio_138 */ ++ linux,code = ; ++ debounce-interval = <5>; ++ }; ++ ++ button2 { ++ label = "Button 2"; ++ gpios = <&gpio5 9 GPIO_ACTIVE_HIGH>; /* gpio_137 */ ++ linux,code = ; ++ 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"; ++}; ++ diff --git a/systems/lctr-a9xx/patches/linux/patches-3.5.4/001-huawei-e1550-ports.patch b/systems/lctr-a9xx/patches/linux/patches-3.5.4/001-huawei-e1550-ports.patch deleted file mode 100644 index a819445..0000000 --- a/systems/lctr-a9xx/patches/linux/patches-3.5.4/001-huawei-e1550-ports.patch +++ /dev/null @@ -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) diff --git a/systems/lctr-a9xx/patches/linux/patches-3.5.4/100-manta-axxx-makefile.patch b/systems/lctr-a9xx/patches/linux/patches-3.5.4/100-manta-axxx-makefile.patch deleted file mode 100644 index 62c3dfd..0000000 --- a/systems/lctr-a9xx/patches/linux/patches-3.5.4/100-manta-axxx-makefile.patch +++ /dev/null @@ -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 diff --git a/systems/lctr-a9xx/patches/linux/patches-3.5.4/101-manta-axxx-board-init.patch b/systems/lctr-a9xx/patches/linux/patches-3.5.4/101-manta-axxx-board-init.patch deleted file mode 100644 index 01a564f..0000000 --- a/systems/lctr-a9xx/patches/linux/patches-3.5.4/101-manta-axxx-board-init.patch +++ /dev/null @@ -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. diff --git a/systems/lctr-a9xx/patches/linux/patches-3.5.4/102-manta-axxx.patch b/systems/lctr-a9xx/patches/linux/patches-3.5.4/102-manta-axxx.patch deleted file mode 100644 index c76c963..0000000 --- a/systems/lctr-a9xx/patches/linux/patches-3.5.4/102-manta-axxx.patch +++ /dev/null @@ -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 -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+// 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)); -+} diff --git a/systems/lctr-a9xx/patches/linux/patches-3.5.4/103-omap-ehci-suspend-resume-fix.patch b/systems/lctr-a9xx/patches/linux/patches-3.5.4/103-omap-ehci-suspend-resume-fix.patch deleted file mode 100644 index 0505df4..0000000 --- a/systems/lctr-a9xx/patches/linux/patches-3.5.4/103-omap-ehci-suspend-resume-fix.patch +++ /dev/null @@ -1,249 +0,0 @@ -From 603684c9a5f62460cd63147d25dd13c7a7395e1d Mon Sep 17 00:00:00 2001 -From: Paolo Pisati -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 ---- - 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 - #include - #include --#include - - /* 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 - diff --git a/systems/lctr-a9xx/patches/linux/patches-3.5.4/201-igep-rs485-hack.patch b/systems/lctr-a9xx/patches/linux/patches-3.5.4/201-igep-rs485-hack.patch deleted file mode 100644 index 2a31de1..0000000 --- a/systems/lctr-a9xx/patches/linux/patches-3.5.4/201-igep-rs485-hack.patch +++ /dev/null @@ -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(); - diff --git a/systems/lctr-a9xx/patches/linux/patches-3.5.4/202-mcspi1-cs2-pin.patch b/systems/lctr-a9xx/patches/linux/patches-3.5.4/202-mcspi1-cs2-pin.patch deleted file mode 100644 index 10d01e4..0000000 --- a/systems/lctr-a9xx/patches/linux/patches-3.5.4/202-mcspi1-cs2-pin.patch +++ /dev/null @@ -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