imx23: bump kernel to 3.10

- fix BOARDNAME
 - add profile for Olinuxino boards
 - prep image Makefile for u-boot inclusion, separate out bootlet build
 - update kernel config to reflect updated chipidea requirements
 - update rtc/watchdog config

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>

SVN-Revision: 37175
This commit is contained in:
Zoltan Herpai 2013-07-04 22:25:26 +00:00
parent 00b5a14567
commit de17203c85
6 changed files with 101 additions and 114 deletions

View file

@ -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))

View file

@ -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

View file

@ -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/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); \
$(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
define Image/BuildKernel
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; \
)
endef
$(eval $(call BuildImage))

View file

@ -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))

View file

@ -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>;

View file

@ -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))