[Armadeus-commitlog] armadeus branch, master, updated. armadeus-4.0-2578-g21efbba
Brought to you by:
sszy
|
From: Julien B a. A. <ar...@us...> - 2011-11-10 14:08:36
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 21efbba05c85cf7189f7aee2d5510dca20ce502f (commit)
via b01d9da92040f0b65655d1399ebea2363556efaf (commit)
via bc1498927b0a5f50ad6afb9fd6e44c2a2842fa2b (commit)
from d2776ab860ba7f5e529eaf1ed4e8330e1babdd1c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 21efbba05c85cf7189f7aee2d5510dca20ce502f
Merge: b01d9da d2776ab
Author: Julien Boibessot <jul...@ar...>
Date: Thu Nov 10 15:06:11 2011 +0100
Merge branch 'master' of ssh://armadeus.git.sourceforge.net/gitroot/armadeus/armadeus
commit b01d9da92040f0b65655d1399ebea2363556efaf
Author: Julien Boibessot <jul...@ar...>
Date: Thu Nov 10 15:05:17 2011 +0100
[BUILDROOT] & [LINUX]: add (very preliminary) support for the APF28 & APF28Dev
commit bc1498927b0a5f50ad6afb9fd6e44c2a2842fa2b
Author: Julien Boibessot <jul...@ar...>
Date: Tue Nov 8 10:43:43 2011 +0100
[BUILDROOT] Makes it possible to compile 3.x Linux kernels
-----------------------------------------------------------------------
Summary of changes:
Makefile | 15 +-
.../configs/{apf27_defconfig => apf28_defconfig} | 34 +--
.../apf28-linux-3.1.config} | 98 +++----
.../2011.05/163-linux-allows_3.x_versions.patch | 36 +++
.../450-armadeus-add_apf28_module_support.patch | 153 +++++++++++
...1-armadeus-add_apf28dev_baseboard_support.patch | 282 ++++++++++++++++++++
6 files changed, 530 insertions(+), 88 deletions(-)
copy buildroot/configs/{apf27_defconfig => apf28_defconfig} (69%)
copy buildroot/target/device/armadeus/{apf27/apf27-linux-2.6.38.config => apf28/apf28-linux-3.1.config} (72%)
create mode 100644 patches/buildroot/2011.05/163-linux-allows_3.x_versions.patch
create mode 100644 patches/linux/3.1/450-armadeus-add_apf28_module_support.patch
create mode 100644 patches/linux/3.1/451-armadeus-add_apf28dev_baseboard_support.patch
diff --git a/Makefile b/Makefile
index eb10c00..9e68ccd 100644
--- a/Makefile
+++ b/Makefile
@@ -67,6 +67,7 @@ default: all
help:
@echo 'First, choose the platform:'
@echo ' apf9328_defconfig - get default config for an APF9328 board'
+ @echo ' apf28_defconfig - get default config for an APF28 board'
@echo ' apf27_defconfig - get default config for an APF27 board'
@echo ' pps_defconfig - get default config for an APF27_PPS board'
@echo ' apf51_defconfig - get default config for an APF51 board'
@@ -85,15 +86,15 @@ help:
@echo ' menuconfig - interactive curses-based configurator'
@echo ' oldconfig - resolve any unresolved symbols in .config'
@echo ' Specific:'
- @echo ' linux-menuconfig - configure linux parameters'
- @echo ' uclibc-menuconfig - configure uclibc library parameters'
- @echo ' busybox-menuconfig - configure busybox shell parameters'
+ @echo ' linux-menuconfig - configure Linux parameters'
+ @echo ' uclibc-menuconfig - configure uClibc library parameters'
+ @echo ' busybox-menuconfig - configure Busybox shell parameters'
@echo
@echo 'Miscellaneous:'
@echo ' source - download all sources needed for offline-build'
@echo ' source-check - check all packages for valid download URLs'
@echo
- @echo 'See http://www.armadeus.org for further Armadeus details'
+ @echo 'See http://www.armadeus.org for further details'
@echo 'See ./buildroot/docs/README and ./buildroot/docs/buildroot.html'
@echo ' for further Buildroot details'
@echo
@@ -161,6 +162,7 @@ endif
echo -e "\033[1m\nThis configuration does not exist !!\n\033[0m" ; \
fi;
+# for the one who doesn't want config menu:
%_autoconf: $(BUILDROOT_DIR)/.patched
@if [ -e "$(BUILDROOT_DIR)/target/device/armadeus/$(patsubst %_autoconf,%,$@)/$(patsubst %_autoconf,%,$@)_defconfig" ]; then \
rm -f $(BUILDROOT_DIR)/.config ; \
@@ -192,10 +194,7 @@ menuconfig: $(BUILDROOT_DIR)/.configured
@$(MAKE) -C $(BUILDROOT_DIR) $@
buildroot-clean:
- rm -rf $(BUILDROOT_DIR)/build*
- rm -rf $(BUILDROOT_DIR)/binaries
- rm -rf $(BUILDROOT_DIR)/project_build*
- rm -rf $(BUILDROOT_DIR)/toolchain_build*
+ rm -rf $(BUILDROOT_DIR)/output
buildroot-dirclean:
rm -rf $(BUILDROOT_DIR)
diff --git a/buildroot/configs/apf27_defconfig b/buildroot/configs/apf28_defconfig
similarity index 69%
copy from buildroot/configs/apf27_defconfig
copy to buildroot/configs/apf28_defconfig
index 0cf91ce..9dab2ea 100644
--- a/buildroot/configs/apf27_defconfig
+++ b/buildroot/configs/apf28_defconfig
@@ -8,7 +8,7 @@ BR2_JLEVEL=1
BR2_CCACHE=y
BR2_STRIP_sstrip=y
BR2_KERNEL_HEADERS_VERSION=y
-BR2_DEFAULT_KERNEL_VERSION="2.6.29.6"
+BR2_DEFAULT_KERNEL_VERSION="3.1"
BR2_UCLIBC_VERSION_0_9_30=y
BR2_UCLIBC_CONFIG="target/device/armadeus/uClibc-$(BR2_UCLIBC_VERSION_STRING).config"
BR2_BINUTILS_VERSION_2_20=y
@@ -31,27 +31,22 @@ BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y
BR2_ROOTFS_DEVICE_TABLE="$(ARMADEUS_PATH)/rootfs/device_table.txt"
BR2_ROOTFS_SKELETON_CUSTOM=y
BR2_ROOTFS_SKELETON_CUSTOM_PATH="$(ARMADEUS_PATH)/rootfs/target_skeleton"
-BR2_TARGET_GENERIC_GETTY_PORT="ttySMX0"
+BR2_TARGET_GENERIC_GETTY_PORT="ttymxc2"
BR2_ROOTFS_POST_BUILD_SCRIPT="$(ARMADEUS_PATH)/rootfs/post_build.sh"
BR2_TARGET_ARMADEUS=y
-BR2_BOARD_NAME="apf27"
-BR2_CPU_NAME="imx27"
+BR2_BOARD_NAME="apf28"
+BR2_CPU_NAME="imx28"
BR2_PACKAGE_BUSYBOX_CONFIG="$(ARMADEUS_PATH)/busybox-$(BR2_BUSYBOX_VERSION).config"
-BR2_PACKAGE_FPGAREGS=y
-BR2_PACKAGE_IMXREGS=y
-BR2_PACKAGE_MAX5821CTRL=y
-BR2_PACKAGE_AD9889CTRL=y
-BR2_PACKAGE_ALSA_UTILS=y
-BR2_PACKAGE_ALSA_UTILS_AMIXER=y
-BR2_PACKAGE_ALSA_UTILS_APLAY=y
-BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST=y
BR2_PACKAGE_STRACE=y
BR2_PACKAGE_I2C_TOOLS=y
BR2_PACKAGE_MTD=y
-BR2_PACKAGE_MTD_JFFS2DUMP=y
-BR2_PACKAGE_MTD_MKFSJFFS2=y
BR2_PACKAGE_MTD_SUMTOOL=y
+BR2_PACKAGE_LZO=y
+BR2_PACKAGE_ZLIB=y
BR2_PACKAGE_TSLIB=y
+BR2_PACKAGE_NCURSES_TARGET_PANEL=y
+BR2_PACKAGE_NCURSES_TARGET_FORM=y
+BR2_PACKAGE_NCURSES_TARGET_MENU=y
BR2_PACKAGE_CAN_UTILS=y
BR2_PACKAGE_IPROUTE2=y
BR2_PACKAGE_NTP=y
@@ -60,21 +55,12 @@ BR2_PACKAGE_PORTMAP=y
BR2_PACKAGE_UUCP=y
BR2_PACKAGE_WIRELESS_TOOLS=y
BR2_PACKAGE_NANO=y
-BR2_TARGET_ROOTFS_JFFS2=y
-BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K=y
-BR2_TARGET_ROOTFS_JFFS2_PAD=y
BR2_TARGET_ROOTFS_UBIFS=y
BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=2047
BR2_TARGET_ROOTFS_UBI=y
-BR2_TARGET_UBOOT=y
-BR2_TARGET_U_BOOT_CONFIG_HEADER_FILE="$(BR2_BOARD_PATH)/$(BR2_BOARD_NAME)-u-boot-$(BR2_TARGET_UBOOT_VERSION).h"
-BR2_TARGET_UBOOT_1_3_4=y
-BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR="../patches/u-boot/$(BR2_TARGET_UBOOT_VERSION)/"
-BR2_TARGET_UBOOT_TOOL_ENV=y
-# BR2_TARGET_UBOOT_NETWORK is not set
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.29.6"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.1"
BR2_LINUX_KERNEL_PATCH="../patches/linux/$(BR2_LINUX_KERNEL_VERSION)"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_BOARD_PATH)/$(BR2_BOARD_NAME)-linux-$(BR2_LINUX_KERNEL_VERSION).config"
diff --git a/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.38.config b/buildroot/target/device/armadeus/apf28/apf28-linux-3.1.config
similarity index 72%
copy from buildroot/target/device/armadeus/apf27/apf27-linux-2.6.38.config
copy to buildroot/target/device/armadeus/apf28/apf28-linux-3.1.config
index 812e771..4e50d65 100644
--- a/buildroot/target/device/armadeus/apf27/apf27-linux-2.6.38.config
+++ b/buildroot/target/device/armadeus/apf28/apf28-linux-3.1.config
@@ -4,9 +4,7 @@ CONFIG_EXPERIMENTAL=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_EMBEDDED=y
-CONFIG_KALLSYMS_EXTRA_PASS=y
# CONFIG_COMPAT_BRK is not set
CONFIG_SLAB=y
CONFIG_PROFILING=y
@@ -15,21 +13,19 @@ CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_BLK_DEV_BSG is not set
# CONFIG_IOSCHED_CFQ is not set
-CONFIG_ARCH_MXC=y
-CONFIG_ARCH_MX2=y
-CONFIG_MACH_MX27=y
-CONFIG_MACH_APF27=y
+CONFIG_ARCH_MXS=y
+CONFIG_MACH_MX28EVK=y
+CONFIG_MACH_APF28=y
+CONFIG_MACH_APF28_DEV=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_PREEMPT=y
CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CPU_IDLE=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_PM=y
-CONFIG_PM_DEBUG=y
-CONFIG_PM_VERBOSE=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
@@ -46,21 +42,19 @@ CONFIG_CAN=m
CONFIG_CAN_RAW=m
CONFIG_CAN_BCM=m
CONFIG_CAN_VCAN=m
-CONFIG_CAN_DEV=m
-CONFIG_CAN_CALC_BITTIMING=y
-CONFIG_CAN_MCP251X=m
+CONFIG_CAN_FLEXCAN=m
CONFIG_BT=m
-CONFIG_BT_L2CAP=m
-CONFIG_BT_SCO=m
+CONFIG_BT_L2CAP=y
+CONFIG_BT_SCO=y
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=m
CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
CONFIG_CFG80211=m
+CONFIG_LIB80211=m
CONFIG_MAC80211=m
CONFIG_MAC80211_RC_PID=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
@@ -68,12 +62,10 @@ CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_FW_LOADER=m
CONFIG_MTD=y
-CONFIG_MTD_PARTITIONS=y
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLOCK=y
CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_MXC=y
CONFIG_MTD_UBI=y
CONFIG_MISC_DEVICES=y
CONFIG_EEPROM_AT24=y
@@ -88,48 +80,59 @@ CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y
CONFIG_NETDEVICES=y
-CONFIG_SMSC_PHY=y
CONFIG_NET_ETHERNET=y
-CONFIG_FEC=y
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
CONFIG_RTL8187=m
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_SDIO=m
CONFIG_RT2X00=m
CONFIG_RT73USB=m
CONFIG_ZD1211RW=m
CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
-CONFIG_KEYBOARD_IMX=m
CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_TSC2102=m
CONFIG_INPUT_MISC=y
CONFIG_INPUT_UINPUT=m
-CONFIG_SERIAL_IMX=y
-CONFIG_SERIAL_IMX_CONSOLE=y
# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_MXS_AUART=y
+CONFIG_SERIAL_MXS_AUART_CONSOLE=y
# CONFIG_HW_RANDOM is not set
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_IMX=y
+CONFIG_I2C_MXS=y
CONFIG_SPI=y
-CONFIG_SPI_IMX=y
-CONFIG_SPI_MXC_SELECT2=y
+CONFIG_SPI_BITBANG=m
CONFIG_SPI_SPIDEV=m
CONFIG_GPIO_SYSFS=y
CONFIG_HWMON=m
CONFIG_WATCHDOG=y
-CONFIG_IMX2_WDT=m
CONFIG_MEDIA_SUPPORT=m
CONFIG_VIDEO_DEV=m
# CONFIG_RC_CORE is not set
-# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
-CONFIG_SOC_CAMERA=m
-CONFIG_VIDEO_MX2=m
+# CONFIG_MEDIA_TUNER_SIMPLE is not set
+# CONFIG_MEDIA_TUNER_TDA8290 is not set
+# CONFIG_MEDIA_TUNER_TDA827X is not set
+# CONFIG_MEDIA_TUNER_TDA18271 is not set
+# CONFIG_MEDIA_TUNER_TDA9887 is not set
+# CONFIG_MEDIA_TUNER_TEA5761 is not set
+# CONFIG_MEDIA_TUNER_TEA5767 is not set
+# CONFIG_MEDIA_TUNER_MT20XX is not set
+# CONFIG_MEDIA_TUNER_MT2060 is not set
+# CONFIG_MEDIA_TUNER_MT2266 is not set
+# CONFIG_MEDIA_TUNER_MT2131 is not set
+# CONFIG_MEDIA_TUNER_QT1010 is not set
+# CONFIG_MEDIA_TUNER_XC2028 is not set
+# CONFIG_MEDIA_TUNER_XC5000 is not set
+# CONFIG_MEDIA_TUNER_XC4000 is not set
+# CONFIG_MEDIA_TUNER_MXL5005S is not set
+# CONFIG_MEDIA_TUNER_MXL5007T is not set
+# CONFIG_MEDIA_TUNER_MC44S803 is not set
+# CONFIG_MEDIA_TUNER_MAX2165 is not set
+# CONFIG_MEDIA_TUNER_TDA18218 is not set
+# CONFIG_MEDIA_TUNER_TDA18212 is not set
+CONFIG_VIDEO_VIVI=m
# CONFIG_RADIO_ADAPTERS is not set
CONFIG_FB=y
-CONFIG_FB_IMX=y
+CONFIG_FB_MXS=y
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
@@ -139,25 +142,12 @@ CONFIG_FONT_8x8=y
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_SOUND=m
-CONFIG_SND=m
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-# CONFIG_SND_DRIVERS is not set
-# CONFIG_SND_ARM is not set
-# CONFIG_SND_SPI is not set
-# CONFIG_SND_USB is not set
-CONFIG_SND_SOC=m
-CONFIG_SND_IMX_SOC=m
CONFIG_USB=y
CONFIG_USB_DEBUG=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_DEVICE_CLASS is not set
CONFIG_USB_MON=y
-CONFIG_USB_EHCI_HCD=y
-# CONFIG_USB_EHCI_TT_NEWSCHED is not set
-CONFIG_USB_EHCI_MXC=y
CONFIG_USB_ACM=y
CONFIG_USB_PRINTER=y
CONFIG_USB_WDM=y
@@ -166,15 +156,12 @@ CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DEBUG_FILES=y
CONFIG_USB_ETH=y
CONFIG_USB_ULPI=y
-CONFIG_ARMADEUS_DRIVERS=y
-CONFIG_ARMADEUS_MAX1027=m
-CONFIG_ARMADEUS_FPGA_DRIVERS=y
-CONFIG_ARMADEUS_FPGA_LOADER_DRIVER=m
CONFIG_MMC=y
-CONFIG_MMC_MXC=y
+CONFIG_MMC_MXS=y
CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_DS1374=y
-CONFIG_RTC_MXC=m
+CONFIG_RTC_DRV_STMP=y
+CONFIG_DMADEVICES=y
+CONFIG_MXS_DMA=y
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
@@ -205,6 +192,5 @@ CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_ISO8859_1=y
CONFIG_DEBUG_FS=y
-# CONFIG_RCU_CPU_STALL_DETECTOR is not set
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_HW is not set
diff --git a/patches/buildroot/2011.05/163-linux-allows_3.x_versions.patch b/patches/buildroot/2011.05/163-linux-allows_3.x_versions.patch
new file mode 100644
index 0000000..801c4a1
--- /dev/null
+++ b/patches/buildroot/2011.05/163-linux-allows_3.x_versions.patch
@@ -0,0 +1,36 @@
+From BR mainline.
+Will be removed when upgrading to latest BR.
+
+Index: buildroot/linux/linux.mk
+===================================================================
+--- buildroot.orig/linux/linux.mk 2011-11-07 19:43:26.000000000 +0100
++++ buildroot/linux/linux.mk 2011-11-08 10:34:24.000000000 +0100
+@@ -12,7 +12,11 @@
+ LINUX26_SOURCE:=$(notdir $(LINUX26_TARBALL))
+ else
+ LINUX26_SOURCE:=linux-$(LINUX26_VERSION).tar.bz2
+-LINUX26_SITE:=$(BR2_KERNEL_MIRROR)/linux/kernel/v2.6/
++ ifeq ($(findstring x2.6.,x$(LINUX26_VERSION)),x2.6.)
++ LINUX26_SITE:=$(BR2_KERNEL_MIRROR)/linux/kernel/v2.6/
++ else
++ LINUX26_SITE:=$(BR2_KERNEL_MIRROR)/linux/kernel/v3.x/
++ endif
+ endif
+
+ LINUX26_DIR:=$(BUILD_DIR)/linux-$(LINUX26_VERSION)
+Index: buildroot/toolchain/kernel-headers/kernel-headers.mk
+===================================================================
+--- buildroot.orig/toolchain/kernel-headers/kernel-headers.mk 2011-11-07 21:24:23.000000000 +0100
++++ buildroot/toolchain/kernel-headers/kernel-headers.mk 2011-11-07 21:25:21.000000000 +0100
+@@ -26,7 +26,11 @@
+ EXTRAVERSION:=$(if $(EXTRAVERSION),.$(EXTRAVERSION),)
+
+ LINUX_HEADERS_VERSION:=$(VERSION).$(PATCHLEVEL)$(SUBLEVEL)$(EXTRAVERSION)
++ifeq ($(findstring x2.6.,x$(DEFAULT_KERNEL_HEADERS)),x2.6.)
+ LINUX_HEADERS_SITE:=$(BR2_KERNEL_MIRROR)/linux/kernel/v2.6/
++else
++LINUX_HEADERS_SITE:=$(BR2_KERNEL_MIRROR)/linux/kernel/v3.x/
++endif
+ LINUX_HEADERS_SOURCE:=linux-$(LINUX_HEADERS_VERSION).tar.bz2
+ LINUX_HEADERS_CAT:=$(BZCAT)
+ LINUX_HEADERS_UNPACK_DIR:=$(TOOLCHAIN_DIR)/linux-$(LINUX_HEADERS_VERSION)
diff --git a/patches/linux/3.1/450-armadeus-add_apf28_module_support.patch b/patches/linux/3.1/450-armadeus-add_apf28_module_support.patch
new file mode 100644
index 0000000..4f0bcd1
--- /dev/null
+++ b/patches/linux/3.1/450-armadeus-add_apf28_module_support.patch
@@ -0,0 +1,153 @@
+Add Armadeus systems APF28 SOM support.
+
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+Index: linux-3.1/arch/arm/mach-mxs/Kconfig
+===================================================================
+--- linux-3.1.orig/arch/arm/mach-mxs/Kconfig 2011-11-08 17:02:08.000000000 +0100
++++ linux-3.1/arch/arm/mach-mxs/Kconfig 2011-11-09 15:52:13.000000000 +0100
+@@ -68,4 +68,13 @@
+ bool "Ka-Ro TX28 module"
+ select MODULE_TX28
+
++config MACH_APF28
++ bool "Armadeus APF28 module"
++ select SOC_IMX28
++ select MXS_HAVE_AMBA_DUART
++ select MXS_HAVE_PLATFORM_FEC
++ help
++ Include support for the Armadeus systems APF28 SOM. This includes
++ specific configurations for the module and its peripherals.
++
+ endif
+Index: linux-3.1/arch/arm/mach-mxs/Makefile
+===================================================================
+--- linux-3.1.orig/arch/arm/mach-mxs/Makefile 2011-11-08 17:09:03.000000000 +0100
++++ linux-3.1/arch/arm/mach-mxs/Makefile 2011-11-09 15:52:13.000000000 +0100
+@@ -12,5 +12,6 @@
+ obj-$(CONFIG_MACH_MX28EVK) += mach-mx28evk.o
+ obj-$(CONFIG_MODULE_TX28) += module-tx28.o
+ obj-$(CONFIG_MACH_TX28) += mach-tx28.o
++obj-$(CONFIG_MACH_APF28) += mach-apf28.o
+
+ obj-y += devices/
+Index: linux-3.1/arch/arm/mach-mxs/mach-apf28.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.1/arch/arm/mach-mxs/mach-apf28.c 2011-11-09 15:53:02.000000000 +0100
+@@ -0,0 +1,106 @@
++/*
++ * Copyright 2011 Armadeus systems.
++ *
++ * Based on code which is:
++ * Copyright 2010 Freescale Semiconductor, Inc. All Rights Reserved.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ */
++
++#include <linux/delay.h>
++#include <linux/platform_device.h>
++#include <linux/gpio.h>
++#include <linux/clk.h>
++
++#include <asm/mach-types.h>
++#include <asm/mach/arch.h>
++#include <asm/mach/time.h>
++
++#include <mach/common.h>
++#include <mach/iomux-mx28.h>
++
++#include "devices-mx28.h"
++
++#define APF28_FEC_PHY_RESET MXS_GPIO_NR(4, 13)
++
++static const iomux_cfg_t apf28_pads[] __initconst = {
++ /* duart */
++ MX28_PAD_PWM0__DUART_RX | MXS_PAD_CTRL,
++ MX28_PAD_PWM1__DUART_TX | MXS_PAD_CTRL,
++
++#define MXS_PAD_FEC (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP)
++ /* FEC0 */
++ MX28_PAD_ENET0_MDC__ENET0_MDC | MXS_PAD_FEC,
++ MX28_PAD_ENET0_MDIO__ENET0_MDIO | MXS_PAD_FEC,
++ MX28_PAD_ENET0_RX_EN__ENET0_RX_EN | MXS_PAD_FEC,
++ MX28_PAD_ENET0_RXD0__ENET0_RXD0 | MXS_PAD_FEC,
++ MX28_PAD_ENET0_RXD1__ENET0_RXD1 | MXS_PAD_FEC,
++ MX28_PAD_ENET0_TX_EN__ENET0_TX_EN | MXS_PAD_FEC,
++ MX28_PAD_ENET0_TXD0__ENET0_TXD0 | MXS_PAD_FEC,
++ MX28_PAD_ENET0_TXD1__ENET0_TXD1 | MXS_PAD_FEC,
++ MX28_PAD_ENET_CLK__CLKCTRL_ENET | MXS_PAD_FEC,
++ /* phy reset line */
++ MX28_PAD_ENET0_RX_CLK__GPIO_4_13 | MXS_PAD_CTRL,
++};
++
++/* FEC */
++static void __init apf28_fec_reset(void)
++{
++ int ret;
++ struct clk *clk;
++
++ /* Enable fec phy clock */
++ clk = clk_get_sys("pll2", NULL);
++ if (!IS_ERR(clk))
++ clk_enable(clk);
++
++ /* Reset fec phy */
++ ret = gpio_request(APF28_FEC_PHY_RESET, "fec-phy-reset");
++ if (ret) {
++ pr_err("Failed to request gpio fec-phy-reset: %d\n", ret);
++ return;
++ }
++
++ gpio_direction_output(APF28_FEC_PHY_RESET, 0);
++ mdelay(1);
++ gpio_set_value(APF28_FEC_PHY_RESET, 1);
++}
++
++static struct fec_platform_data mx28_fec0_pdata __initdata = {
++ .phy = PHY_INTERFACE_MODE_RMII,
++};
++
++static void __init apf28_init(void)
++{
++ mxs_iomux_setup_multiple_pads(apf28_pads, ARRAY_SIZE(apf28_pads));
++
++ mx28_add_duart();
++
++ apf28_fec_reset();
++ mx28_add_fec(0, &mx28_fec0_pdata);
++}
++
++static void __init apf28_timer_init(void)
++{
++ mx28_clocks_init();
++}
++
++static struct sys_timer apf28_timer = {
++ .init = apf28_timer_init,
++};
++
++MACHINE_START(APF28, "Armadeus APF28")
++ /* Maintainer: Julien Boibessot <jul...@ar...> */
++ .map_io = mx28_map_io,
++ .init_irq = mx28_init_irq,
++ .init_machine = apf28_init,
++ .timer = &apf28_timer,
++MACHINE_END
+Index: linux-3.1/arch/arm/tools/mach-types
+===================================================================
+--- linux-3.1.orig/arch/arm/tools/mach-types 2011-11-09 11:01:00.000000000 +0100
++++ linux-3.1/arch/arm/tools/mach-types 2011-11-09 11:02:38.000000000 +0100
+@@ -1113,3 +1113,4 @@
+ thales_adc MACH_THALES_ADC THALES_ADC 3492
+ ubisys_p9d_evp MACH_UBISYS_P9D_EVP UBISYS_P9D_EVP 3493
+ atdgp318 MACH_ATDGP318 ATDGP318 3494
++apf28 MACH_APF28 APF28 3845
diff --git a/patches/linux/3.1/451-armadeus-add_apf28dev_baseboard_support.patch b/patches/linux/3.1/451-armadeus-add_apf28dev_baseboard_support.patch
new file mode 100644
index 0000000..cd85c31
--- /dev/null
+++ b/patches/linux/3.1/451-armadeus-add_apf28dev_baseboard_support.patch
@@ -0,0 +1,282 @@
+Add Armadeus systems APF28Dev development board support.
+
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+Index: linux-3.1/arch/arm/mach-mxs/Kconfig
+===================================================================
+--- linux-3.1.orig/arch/arm/mach-mxs/Kconfig 2011-11-09 15:52:13.000000000 +0100
++++ linux-3.1/arch/arm/mach-mxs/Kconfig 2011-11-09 15:53:11.000000000 +0100
+@@ -77,4 +77,21 @@
+ Include support for the Armadeus systems APF28 SOM. This includes
+ specific configurations for the module and its peripherals.
+
++comment "APF28 baseboard support"
++ depends on MACH_APF28
++
++config MACH_APF28_DEV
++ bool "Armadeus APF28Dev development board"
++ depends on MACH_APF28
++ select MXS_HAVE_PLATFORM_AUART
++ select MXS_HAVE_PLATFORM_FLEXCAN
++ select MXS_HAVE_PLATFORM_MXS_MMC
++ select MXS_HAVE_PLATFORM_MXSFB
++ select MXS_HAVE_PLATFORM_MXS_I2C
++ select MXS_HAVE_PLATFORM_MXS_PWM
++ help
++ This selects the Armadeus systems APF28Dev as baseboard and adds board's
++ specific devices. "baseboard=apf28dev" bootargs will this board effective
++ at runtime.
++
+ endif
+Index: linux-3.1/arch/arm/mach-mxs/Makefile
+===================================================================
+--- linux-3.1.orig/arch/arm/mach-mxs/Makefile 2011-11-09 15:52:13.000000000 +0100
++++ linux-3.1/arch/arm/mach-mxs/Makefile 2011-11-09 15:53:11.000000000 +0100
+@@ -13,5 +13,6 @@
+ obj-$(CONFIG_MODULE_TX28) += module-tx28.o
+ obj-$(CONFIG_MACH_TX28) += mach-tx28.o
+ obj-$(CONFIG_MACH_APF28) += mach-apf28.o
++obj-$(CONFIG_MACH_APF28_DEV) += apf28dev-baseboard.o
+
+ obj-y += devices/
+Index: linux-3.1/arch/arm/mach-mxs/apf28dev-baseboard.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.1/arch/arm/mach-mxs/apf28dev-baseboard.c 2011-11-09 15:53:11.000000000 +0100
+@@ -0,0 +1,201 @@
++/*
++ * Copyright 2011 Armadeus systems.
++ *
++ * Based on code which is:
++ * Copyright 2010 Freescale Semiconductor, Inc. All Rights Reserved.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ */
++
++#include <linux/delay.h>
++#include <linux/platform_device.h>
++#include <linux/gpio.h>
++#include <linux/leds.h>
++#include <linux/irq.h>
++#include <linux/clk.h>
++
++#include <asm/mach-types.h>
++#include <asm/mach/arch.h>
++#include <asm/mach/time.h>
++
++#include <mach/common.h>
++#include <mach/iomux-mx28.h>
++
++#include "devices-mx28.h"
++
++#define APF28DEV_CAN
++#define MX28EVK_FLEXCAN_SWITCH MXS_GPIO_NR(2, 13)
++#define APF28DEV_FEC_PHY_RESET MXS_GPIO_NR(0, 23)
++
++static const iomux_cfg_t apf28dev_pads[] __initconst = {
++ /* AUART0 */
++ MX28_PAD_AUART0_RX__AUART0_RX | MXS_PAD_CTRL,
++ MX28_PAD_AUART0_TX__AUART0_TX | MXS_PAD_CTRL,
++ MX28_PAD_AUART0_CTS__AUART0_CTS | MXS_PAD_CTRL,
++ MX28_PAD_AUART0_RTS__AUART0_RTS | MXS_PAD_CTRL,
++ /* AUART1 */
++ MX28_PAD_AUART1_RX__AUART1_RX | MXS_PAD_CTRL,
++ MX28_PAD_AUART1_TX__AUART1_TX | MXS_PAD_CTRL,
++ MX28_PAD_AUART1_CTS__AUART1_CTS | MXS_PAD_CTRL,
++ MX28_PAD_AUART1_RTS__AUART1_RTS | MXS_PAD_CTRL,
++ /* AUART2 */
++ MX28_PAD_AUART2_RX__AUART2_RX | MXS_PAD_CTRL,
++ MX28_PAD_AUART2_TX__AUART2_TX | MXS_PAD_CTRL,
++ MX28_PAD_AUART2_CTS__AUART2_CTS | MXS_PAD_CTRL,
++ MX28_PAD_AUART2_RTS__AUART2_RTS | MXS_PAD_CTRL,
++#ifndef APF28DEV_CAN
++ /* AUART3 */
++ MX28_PAD_AUART3_RX__AUART3_RX | MXS_PAD_CTRL,
++ MX28_PAD_AUART3_TX__AUART3_TX | MXS_PAD_CTRL,
++ MX28_PAD_AUART3_CTS__AUART3_CTS | MXS_PAD_CTRL,
++ MX28_PAD_AUART3_RTS__AUART3_RTS | MXS_PAD_CTRL,
++#else
++ /* CAN0 */
++ MX28_PAD_AUART3_RX__CAN0_TX,
++ MX28_PAD_AUART3_TX__CAN0_RX,
++#endif
++
++#define MXS_PAD_FEC (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP)
++ /* FEC1 */
++ MX28_PAD_ENET0_CRS__ENET1_RX_EN | MXS_PAD_FEC,
++ MX28_PAD_ENET0_RXD2__ENET1_RXD0 | MXS_PAD_FEC,
++ MX28_PAD_ENET0_RXD3__ENET1_RXD1 | MXS_PAD_FEC,
++ MX28_PAD_ENET0_COL__ENET1_TX_EN | MXS_PAD_FEC,
++ MX28_PAD_ENET0_TXD2__ENET1_TXD0 | MXS_PAD_FEC,
++ MX28_PAD_ENET0_TXD3__ENET1_TXD1 | MXS_PAD_FEC,
++ /* phy reset line */
++ MX28_PAD_GPMI_RDY3__GPIO_0_23 | MXS_PAD_CTRL,
++
++ /* LCD */
++ MX28_PAD_LCD_D00__LCD_D0 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D01__LCD_D1 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D02__LCD_D2 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D03__LCD_D3 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D04__LCD_D4 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D05__LCD_D5 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D06__LCD_D6 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D07__LCD_D7 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D08__LCD_D8 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D09__LCD_D9 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D10__LCD_D10 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D11__LCD_D11 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D12__LCD_D12 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D13__LCD_D13 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D14__LCD_D14 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D15__LCD_D15 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D16__LCD_D16 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D17__LCD_D17 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D18__LCD_D18 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D19__LCD_D19 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D20__LCD_D20 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D21__LCD_D21 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D22__LCD_D22 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_D23__LCD_D23 | MXS_PAD_CTRL,
++ MX28_PAD_LCD_RD_E__LCD_VSYNC | MXS_PAD_CTRL,
++ MX28_PAD_LCD_WR_RWN__LCD_HSYNC | MXS_PAD_CTRL,
++ MX28_PAD_LCD_RS__LCD_DOTCLK | MXS_PAD_CTRL,
++ MX28_PAD_LCD_CS__LCD_ENABLE | MXS_PAD_CTRL,
++
++ /* MMC0 */
++ MX28_PAD_SSP0_DATA0__SSP0_D0 |
++ (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP),
++ MX28_PAD_SSP0_DATA1__SSP0_D1 |
++ (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP),
++ MX28_PAD_SSP0_DATA2__SSP0_D2 |
++ (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP),
++ MX28_PAD_SSP0_DATA3__SSP0_D3 |
++ (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP),
++ MX28_PAD_SSP0_SCK__SSP0_SCK |
++ (MXS_PAD_12MA | MXS_PAD_3V3 | MXS_PAD_NOPULL),
++ MX28_PAD_SSP0_CMD__SSP0_CMD |
++ (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP),
++ MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT |
++ (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_NOPULL),
++
++ /* User LED */
++ MX28_PAD_GPMI_RDY1__GPIO_0_21 | MXS_PAD_CTRL,
++ /* User button */
++ MX28_PAD_GPMI_RDY2__GPIO_0_22 | MXS_PAD_CTRL,
++};
++
++/* fec */
++static void __init apf28dev_fec1_reset(void)
++{
++ int ret;
++
++ /* Reset fec phy */
++ ret = gpio_request(APF28DEV_FEC_PHY_RESET, "fec-phy-reset");
++ if (ret) {
++ pr_err("Failed to request gpio fec-phy-%s: %d\n", "reset", ret);
++ return;
++ }
++
++ gpio_direction_output(APF28DEV_FEC_PHY_RESET, 0);
++ mdelay(1);
++ gpio_set_value(APF28DEV_FEC_PHY_RESET, 1);
++}
++
++static struct fec_platform_data mx28_fec1_pdata __initdata = {
++ .phy = PHY_INTERFACE_MODE_RMII,
++};
++
++/* mxsfb (lcdif) */
++static struct fb_videomode apf28dev_video_modes[] = {
++ {
++ .name = "Chimei-LW700AT9003",
++ .refresh = 60,
++ .xres = 800,
++ .yres = 480,
++ .pixclock = 30303, /* picosecond */
++ .left_margin = 96,
++ .right_margin = 96,
++ .upper_margin = 20,
++ .lower_margin = 21,
++ .hsync_len = 64,
++ .vsync_len = 4,
++ /* .sync = FB_SYNC_CLK_IDLE_EN, ?? */
++ .vmode = FB_VMODE_NONINTERLACED,
++ },
++};
++
++static const struct mxsfb_platform_data apf28dev_mxsfb_pdata __initconst = {
++ .mode_list = apf28dev_video_modes,
++ .mode_count = ARRAY_SIZE(apf28dev_video_modes),
++ .default_bpp = 16,
++ .ld_intf_width = STMLCDIF_18BIT,
++};
++
++static struct mxs_mmc_platform_data apf28dev_mmc0_pdata __initdata = {
++ .flags = SLOTF_4_BIT_CAPABLE,
++};
++
++void __init apf28dev_init(void)
++{
++ printk("--- %s\n", __func__);
++
++ mxs_iomux_setup_multiple_pads(apf28dev_pads, ARRAY_SIZE(apf28dev_pads));
++
++ mx28_add_auart0();
++ mx28_add_auart1();
++ mx28_add_auart2();
++
++ apf28dev_fec1_reset();
++ mx28_add_fec(1, &mx28_fec1_pdata);
++#ifdef APF28DEV_CAN
++ mx28_add_flexcan(0, NULL);
++#else
++ mx28_add_auart3();
++#endif
++ mx28_add_mxsfb(&apf28dev_mxsfb_pdata);
++
++ mx28_add_mxs_mmc(0, &apf28dev_mmc0_pdata);
++}
++EXPORT_SYMBOL_GPL(apf28dev_init);
+Index: linux-3.1/arch/arm/mach-mxs/mach-apf28.c
+===================================================================
+--- linux-3.1.orig/arch/arm/mach-mxs/mach-apf28.c 2011-11-09 15:53:02.000000000 +0100
++++ linux-3.1/arch/arm/mach-mxs/mach-apf28.c 2011-11-09 15:53:11.000000000 +0100
+@@ -78,6 +78,17 @@
+ .phy = PHY_INTERFACE_MODE_RMII,
+ };
+
++/* Get baseboard */
++static char apf28_baseboard[16] = "apf28dev";
++
++static int __init apf28_get_baseboard(char *options)
++{
++ strncpy(apf28_baseboard, options, sizeof(apf28_baseboard));
++
++ return 0;
++}
++__setup("baseboard=", apf28_get_baseboard);
++
+ static void __init apf28_init(void)
+ {
+ mxs_iomux_setup_multiple_pads(apf28_pads, ARRAY_SIZE(apf28_pads));
+@@ -86,6 +97,12 @@
+
+ apf28_fec_reset();
+ mx28_add_fec(0, &mx28_fec0_pdata);
++
++ printk("--- APF28 baseboard: (%s)\n", apf28_baseboard);
++#ifdef CONFIG_APF28_DEV
++ if (!strcmp(apf28_baseboard, "apf28dev"))
++ apf28dev_init();
++#endif
+ }
+
+ static void __init apf28_timer_init(void)
hooks/post-receive
--
armadeus
|