aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/imx23/Makefile11
-rw-r--r--target/linux/imx23/config-default54
-rw-r--r--target/linux/imx23/image/Makefile28
-rw-r--r--target/linux/imx23/modules.mk27
-rw-r--r--target/linux/imx23/patches/100-imx23-i2c.patch77
-rw-r--r--target/linux/imx23/profiles/01-olinuxino.mk18
6 files changed, 101 insertions, 114 deletions
diff --git a/target/linux/imx23/Makefile b/target/linux/imx23/Makefile
index 0315b273ae..c9c5bb92d7 100644
--- a/target/linux/imx23/Makefile
+++ b/target/linux/imx23/Makefile
@@ -8,21 +8,20 @@ include $(TOPDIR)/rules.mk
ARCH:=arm
BOARD:=imx23
-BOARDNAME:=Olinuxino i.MX233
+BOARDNAME:=Freescale i.MX23 series
FEATURES:=ext4 rtc usb gpio
CFLAGS:=-Os -pipe -march=armv5te -mtune=arm926ej-s -fno-caller-saves
MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
-LINUX_VERSION:=3.9.8
+LINUX_VERSION:=3.10
KERNELNAME:="zImage dtbs"
-DEPENDS:=+imx-bootlets
+#DEPENDS:=+imx-bootlets
define Target/Description
- Support for Olimex Olinuxino boards
+ Support for Freescale i.MX233-based boards
endef
include $(INCLUDE_DIR)/target.mk
-DEFAULT_PACKAGES += dnsmasq imx-bootlets kmod-usb-chipidea kmod-usb-net kmod-usb-net-smsc95xx \
- kmod-wdt-stmp3xxx kmod-gpio-mcp23s08 kmod-leds-gpio kmod-ledtrig-heartbeat
+DEFAULT_PACKAGES += kmod-wdt-stmp3xxx
$(eval $(call BuildTarget))
diff --git a/target/linux/imx23/config-default b/target/linux/imx23/config-default
index 3185b872bf..6b780554d4 100644
--- a/target/linux/imx23/config-default
+++ b/target/linux/imx23/config-default
@@ -4,6 +4,14 @@ CONFIG_ALIGNMENT_TRAP=y
CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
+CONFIG_ARCH_MULTIPLATFORM=y
+CONFIG_ARCH_MULTI_CPU_AUTO=y
+# CONFIG_ARCH_MULTI_V4 is not set
+# CONFIG_ARCH_MULTI_V4T is not set
+CONFIG_ARCH_MULTI_V4_V5=y
+CONFIG_ARCH_MULTI_V5=y
+# CONFIG_ARCH_MULTI_V6 is not set
+# CONFIG_ARCH_MULTI_V7 is not set
CONFIG_ARCH_MXS=y
# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
CONFIG_ARCH_NR_GPIO=0
@@ -12,21 +20,24 @@ CONFIG_ARCH_REQUIRE_GPIOLIB=y
# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
+# CONFIG_ARCH_WM8505 is not set
CONFIG_ARM=y
CONFIG_ARM_AMBA=y
CONFIG_ARM_APPENDED_DTB=y
# CONFIG_ARM_ATAG_DTB_COMPAT is not set
-# CONFIG_ARM_CPU_SUSPEND is not set
+CONFIG_ARM_CPU_SUSPEND=y
CONFIG_ARM_L1_CACHE_SHIFT=5
CONFIG_ARM_NR_BANKS=8
CONFIG_ARM_PATCH_PHYS_VIRT=y
# CONFIG_ARM_SP805_WATCHDOG is not set
CONFIG_ARM_THUMB=y
CONFIG_ATAGS=y
+CONFIG_AUTO_ZRELADDR=y
# CONFIG_CACHE_L2X0 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_CLKDEV_LOOKUP=y
CONFIG_CLKSRC_MMIO=y
+CONFIG_CLKSRC_OF=y
CONFIG_CLONE_BACKWARDS=y
CONFIG_CMDLINE="console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait"
CONFIG_CMDLINE_FROM_BOOTLOADER=y
@@ -42,7 +53,11 @@ CONFIG_CPU_CP15=y
CONFIG_CPU_CP15_MMU=y
# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
# CONFIG_CPU_ICACHE_DISABLE is not set
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
CONFIG_CPU_PABRT_LEGACY=y
+CONFIG_CPU_PM=y
CONFIG_CPU_TLB_V4WBI=y
CONFIG_CPU_USE_DOMAINS=y
CONFIG_CRC16=y
@@ -66,7 +81,7 @@ CONFIG_GENERIC_ATOMIC64=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
CONFIG_GENERIC_IO=y
CONFIG_GENERIC_IRQ_CHIP=y
CONFIG_GENERIC_IRQ_SHOW=y
@@ -93,6 +108,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_BPF_JIT=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_HAVE_DEBUG_KMEMLEAK=y
CONFIG_HAVE_DMA_API_DEBUG=y
@@ -104,6 +120,7 @@ CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_HAVE_GENERIC_HARDIRQS=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_LZO=y
@@ -118,10 +135,12 @@ CONFIG_HAVE_PWM=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_UID16=y
+CONFIG_HZ_PERIODIC=y
CONFIG_I2C=y
CONFIG_I2C_ALGOBIT=y
CONFIG_I2C_ALGOPCA=y
CONFIG_I2C_ALGOPCF=y
+# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_COMPAT=y
@@ -144,7 +163,6 @@ CONFIG_KTIME_SCALAR=y
# CONFIG_LEDS_REGULATOR is not set
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
-CONFIG_MACH_MXS_DT=y
CONFIG_MDIO_BOARDINFO=y
CONFIG_MMC=y
CONFIG_MMC_BLOCK=y
@@ -157,12 +175,11 @@ CONFIG_MXS_DMA=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_PER_CPU_KM=y
# CONFIG_NET_DMA is not set
-CONFIG_NET_VENDOR_WIZNET=y
+# CONFIG_NET_IP_TUNNEL is not set
CONFIG_NLS=y
CONFIG_OF=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_DEVICE=y
-# CONFIG_OF_DISPLAY_TIMING is not set
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_FLATTREE=y
CONFIG_OF_GPIO=y
@@ -171,7 +188,6 @@ CONFIG_OF_IRQ=y
CONFIG_OF_MDIO=y
CONFIG_OF_MTD=y
CONFIG_OF_NET=y
-# CONFIG_OF_VIDEOMODE is not set
CONFIG_OLD_SIGACTION=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_PAGEFLAGS_EXTENDED=y
@@ -200,46 +216,54 @@ CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_SPI=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_DEBUG=y
+# CONFIG_REGULATOR_DUMMY is not set
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_GPIO=y
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_RFKILL_REGULATOR is not set
CONFIG_RTC_CLASS=y
-# CONFIG_RTC_DRV_RX4581 is not set
-CONFIG_RTC_DRV_STMP=y
+# CONFIG_RTC_DRV_STMP is not set
+# CONFIG_SAMSUNG_USB2PHY is not set
+# CONFIG_SAMSUNG_USB3PHY is not set
+# CONFIG_SAMSUNG_USBPHY is not set
CONFIG_SCHED_HRTICK=y
# CONFIG_SCSI_DMA is not set
-# CONFIG_SERIAL_AMBA_PL010 is not set
+CONFIG_SERIAL_AMBA_PL010=y
+CONFIG_SERIAL_AMBA_PL010_CONSOLE=y
CONFIG_SERIAL_AMBA_PL011=y
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
CONFIG_SERIAL_MXS_AUART=y
-# CONFIG_SERIAL_MXS_AUART_CONSOLE is not set
+CONFIG_SERIAL_MXS_AUART_CONSOLE=y
CONFIG_SMSC_PHY=y
CONFIG_SOC_IMX23=y
CONFIG_SOC_IMX28=y
CONFIG_SPARSE_IRQ=y
CONFIG_SPI=y
CONFIG_SPI_MASTER=y
-CONFIG_SPI_MXS=y
+# CONFIG_SPI_MXS is not set
CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_STMP3XXX_RTC_WATCHDOG is not set
CONFIG_STMP_DEVICE=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+# CONFIG_TEGRA_HOST1X is not set
CONFIG_TICK_CPU_ACCOUNTING=y
CONFIG_UID16=y
CONFIG_UIDGID_CONVERTED=y
# CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set
+CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
CONFIG_USB=y
# CONFIG_USB_ARCH_HAS_OHCI is not set
# CONFIG_USB_ARCH_HAS_XHCI is not set
CONFIG_USB_COMMON=y
-# CONFIG_USB_EHCI_HCD is not set
+CONFIG_USB_EHCI_HCD=y
+# CONFIG_USB_EHCI_HCD_PLATFORM is not set
# CONFIG_USB_MXS_PHY is not set
+CONFIG_USB_OTG=y
+CONFIG_USB_PHY=y
CONFIG_USB_SUPPORT=y
CONFIG_USE_OF=y
CONFIG_VECTORS_BASE=0xffff0000
# CONFIG_VFP is not set
CONFIG_WATCHDOG_CORE=y
-# CONFIG_WIZNET_W5100 is not set
-# CONFIG_WIZNET_W5300 is not set
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_BCJ=y
CONFIG_ZBOOT_ROM_BSS=0
diff --git a/target/linux/imx23/image/Makefile b/target/linux/imx23/image/Makefile
index fb84265f1d..3aeb21bf3c 100644
--- a/target/linux/imx23/image/Makefile
+++ b/target/linux/imx23/image/Makefile
@@ -4,21 +4,31 @@
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
+
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk
-define Image/Build
- $(call Image/Build/$(1))
- dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=128k conv=sync
-endef
-
-define Image/BuildKernel
+define Image/BuildKernel/olinuxino-bootlet
cat $(LINUX_DIR)/arch/arm/boot/zImage $(LINUX_DIR)/arch/arm/boot/dts/imx23-olinuxino.dtb > $(STAGING_DIR)/zImage_dtb
(cd $(STAGING_DIR); \
- ../host/bin/elftosb -z -c ./linux_prebuilt.db -o linux.sb \
- dd if=/dev/zero of=sd_mmc_bootstream.raw bs=512 count=4; \
- dd if=linux.sb of=$(BIN_DIR)/openwrt-imx23-sbImage ibs=512 seek=4; \
+ $(STAGING_DIR)/../host/bin/elftosb -z -c ./linux_prebuilt.db -o linux.sb; \
+ dd if=/dev/zero of=sd_mmc_bootstream.raw bs=512 count=4; \
+ dd if=linux.sb of=$(BIN_DIR)/openwrt-imx23-sbImage ibs=512 seek=4; \
)
endef
+define Image/BuildKernel
+
+ ifeq ($(CONFIG_PACKAGE_imx-bootlets),y)
+ $(call Image/BuildKernel/olinuxino-bootlet)
+ endif
+
+endef
+
+define Image/Build
+ $(call Image/Build/$(1))
+ dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=128k conv=sync
+endef
+
$(eval $(call BuildImage))
+
diff --git a/target/linux/imx23/modules.mk b/target/linux/imx23/modules.mk
index 91faf513a0..1e27e415ac 100644
--- a/target/linux/imx23/modules.mk
+++ b/target/linux/imx23/modules.mk
@@ -4,13 +4,27 @@
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
+define KernelPackage/rtc-stmp3xxx
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=STMP3xxx SoC built-in RTC support
+ DEPENDS:=@(TARGET_imx23)
+ $(call AddDepends/rtc)
+ KCONFIG:=\
+ CONFIG_RTC_CLASS=y \
+ CONFIG_RTC_DRV_STMP=m
+ FILES:=$(LINUX_DIR)/drivers/rtc/rtc-stmp3xxx.ko
+ AUTOLOAD:=$(call AutoLoad,50,rtc-stmp3xxx)
+endef
+
+$(eval $(call KernelPackage,rtc-stmp3xxx))
+
define KernelPackage/wdt-stmp3xxx
SUBMENU:=$(OTHER_MENU)
TITLE:=STMP3xxx Watchdog timer
- DEPENDS:=@(TARGET_imx23)
+ DEPENDS:=kmod-rtc-stmp3xxx
KCONFIG:=CONFIG_STMP3XXX_RTC_WATCHDOG
FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/stmp3xxx_rtc_wdt.ko
- AUTOLOAD:=$(call AutoLoad,50,stmp3xxx_rtc_wdt)
+ AUTOLOAD:=$(call AutoLoad,51,stmp3xxx_rtc_wdt)
endef
define KernelPackage/wdt-stmp3xxx/description
@@ -18,9 +32,9 @@ define KernelPackage/wdt-stmp3xxx/description
endef
$(eval $(call KernelPackage,wdt-stmp3xxx))
+
define KernelPackage/usb-chipidea
TITLE:=Support for ChipIdea controllers
- DEPENDS:=+kmod-usb2 +kmod-usb-mxs-phy
KCONFIG:= \
CONFIG_USB_CHIPIDEA \
CONFIG_USB_CHIPIDEA_HOST=y \
@@ -40,11 +54,11 @@ $(eval $(call KernelPackage,usb-chipidea,1))
define KernelPackage/usb-mxs-phy
TITLE:=Support for Freescale MXS USB PHY controllers
- DEPENDS:=+kmod-usb2
+ DEPENDS:=+kmod-usb-chipidea
KCONFIG:= \
CONFIG_USB_MXS_PHY
- FILES:=$(LINUX_DIR)/drivers/usb/otg/mxs-phy.ko
- AUTOLOAD:=$(call AutoLoad,50,mxs-phy,1)
+ FILES:=$(LINUX_DIR)/drivers/usb/phy/phy-mxs-usb.ko
+ AUTOLOAD:=$(call AutoLoad,50,phy-mxs-usb,1)
$(call AddDepends/usb)
endef
@@ -68,4 +82,3 @@ endef
$(eval $(call KernelPackage,usb-net-smsc95xx))
-
diff --git a/target/linux/imx23/patches/100-imx23-i2c.patch b/target/linux/imx23/patches/100-imx23-i2c.patch
deleted file mode 100644
index 2a3fa1e3c1..0000000000
--- a/target/linux/imx23/patches/100-imx23-i2c.patch
+++ /dev/null
@@ -1,77 +0,0 @@
---- a/arch/arm/boot/dts/imx23.dtsi
-+++ b/arch/arm/boot/dts/imx23.dtsi
-@@ -292,8 +292,42 @@
- fsl,voltage = <1>;
- fsl,pull-up = <1>;
- };
-- };
-
-+ i2c0_pins_a: i2c0@0 {
-+ reg = <0>;
-+ fsl,pinmux-ids = <
-+ 0x01e0 /* MX23_PAD_I2C_SCL__I2C_SCL */
-+ 0x01f0 /* MX23_PAD_I2C_SDA__I2C_SDA */
-+ >;
-+ fsl,drive-strength = <1>;
-+ fsl,voltage = <1>;
-+ fsl,pull-up = <1>;
-+ };
-+
-+ i2c1_pins_a: i2c1@0 {
-+ reg = <0>;
-+ fsl,pinmux-ids = <
-+ 0x1171 /* MX23_PAD_LCD_ENABLE__I2C_SCL */
-+ 0x1181 /* MX23_PAD_LCD_HSYNC__I2C_SDA */
-+ >;
-+ fsl,drive-strength = <1>;
-+ fsl,voltage = <1>;
-+ fsl,pull-up = <1>;
-+ };
-+
-+ i2c2_pins_a: i2c2@0 {
-+ reg = <0>;
-+ fsl,pinmux-ids = <
-+ 0x2031 /* MX23_PAD_SSP1_DATA1__I2C_SCL */
-+ 0x2041 /* MX23_PAD_SSP1_DATA2__I2C_SDA */
-+ >;
-+ fsl,drive-strength = <1>;
-+ fsl,voltage = <1>;
-+ fsl,pull-up = <1>;
-+ };
-+
-+ };
-+
- digctl@8001c000 {
- reg = <0x8001c000 2000>;
- status = "disabled";
-@@ -402,8 +436,14 @@
- status = "disabled";
- };
-
-- i2c@80058000 {
-+ i2c0: i2c@80058000 {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ compatible = "fsl,imx28-i2c";
- reg = <0x80058000 0x2000>;
-+ interrupts = <27 26>;
-+ clock-frequency = <100000>;
-+ fsl,i2c-dma-channel = <3>;
- status = "disabled";
- };
-
---- a/arch/arm/boot/dts/imx23-olinuxino.dts
-+++ b/arch/arm/boot/dts/imx23-olinuxino.dts
-@@ -68,6 +68,12 @@
- };
-
- apbx@80040000 {
-+ i2c0: i2c@80058000 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&i2c1_pins_a>;
-+ status = "okay";
-+ };
-+
- duart: serial@80070000 {
- pinctrl-names = "default";
- pinctrl-0 = <&duart_pins_a>;
diff --git a/target/linux/imx23/profiles/01-olinuxino.mk b/target/linux/imx23/profiles/01-olinuxino.mk
new file mode 100644
index 0000000000..45986531ad
--- /dev/null
+++ b/target/linux/imx23/profiles/01-olinuxino.mk
@@ -0,0 +1,18 @@
+#
+# Copyright (C) 2012 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/olinuxino
+ NAME:=Olimex Olinuxino boards
+ PACKAGES += imx-bootlets kmod-usb-mxs-phy kmod-usb-net kmod-usb-net-smsc95xx \
+ kmod-gpio-mcp23s08 kmod-leds-gpio kmod-ledtrig-heartbeat kmod-rtc-stmp3xxx
+endef
+
+define Profile/olinuxino/Description
+ Olimex Olinuxino boards
+endef
+$(eval $(call Profile,olinuxino))
+