[kernel/f15] add support for highbank, imx and kirkwood boards on arm

Dennis Gilmore ausil at fedoraproject.org
Sun Dec 11 17:19:14 UTC 2011


commit 2205d2ae378a46feea20c9a87683b4b91cb43070
Author: Dennis Gilmore <dennis at ausil.us>
Date:   Sun Dec 11 11:16:57 2011 -0600

    add support for highbank, imx and kirkwood boards on arm

 Makefile.config     |   26 ++++++++++++++
 config-arm-generic  |    6 ++--
 config-arm-highbank |   23 ++++++++++++
 config-arm-imx      |   95 +++++++++++++++++++++++++++++++++++++++++++++++++++
 config-arm-kirkwood |   50 +++++++++++++++++++++++++++
 config-arm-tegra    |    6 +++
 kernel.spec         |   65 ++++++++++++++++++++++++++++++++++-
 7 files changed, 267 insertions(+), 4 deletions(-)
---
diff --git a/Makefile.config b/Makefile.config
index d56185c..10ca31e 100644
--- a/Makefile.config
+++ b/Makefile.config
@@ -10,7 +10,9 @@ CONFIGFILES	= \
 	$(CFG)-x86_64.config $(CFG)-x86_64-debug.config \
 	$(CFG)-s390x.config \
 	$(CFG)-arm.config  $(CFG)-armv5tel.config \
+	$(CFG)-armv5tel-kirkwood.config  $(CFG)-armv7l-imx.config \
 	$(CFG)-armv7l-omap.config $(CFG)-armv7l-tegra.config \
+        $(CFG)-armv7hl-imx.config $(CFG)-armv7hl-highbank.config \
 	$(CFG)-armv7hl-omap.config $(CFG)-armv7hl-tegra.config \
 	$(CFG)-ppc.config $(CFG)-ppc-smp.config \
 	$(CFG)-sparc64.config  \
@@ -43,6 +45,15 @@ temp-armv7l-omap-generic: config-arm-omap-generic temp-arm-generic
 temp-armv7l-tegra: config-arm-tegra temp-arm-generic
 	perl merge.pl $^  > $@
 
+temp-armv5tel-kirkwood: config-arm-kirkwood temp-arm-generic
+	perl merge.pl $^  > $@
+
+temp-armv7l-imx: config-arm-imx temp-arm-generic
+	perl merge.pl $^  > $@
+
+temp-armv7l-highbank: config-arm-highbank temp-arm-generic
+	perl merge.pl $^  > $@
+
 temp-x86-32: config-x86-32-generic config-x86-generic
 	perl merge.pl $^  > $@
 
@@ -112,12 +123,27 @@ kernel-$(VERSION)-arm.config: /dev/null temp-arm-generic
 kernel-$(VERSION)-armv5tel.config: /dev/null temp-arm-generic
 	perl merge.pl $^ arm > $@
 
+kernel-$(VERSION)-armv5tel-kirkwood.config: /dev/null temp-armv5tel-kirkwood
+	perl merge.pl $^ arm > $@
+
+kernel-$(VERSION)-armv7l-imx.config: /dev/null temp-armv7l-imx
+	perl merge.pl $^ arm > $@
+
+kernel-$(VERSION)-armv7l-highbank.config: /dev/null temp-armv7l-highbank
+	perl merge.pl $^ arm > $@
+
 kernel-$(VERSION)-armv7l-omap.config: /dev/null temp-armv7l-omap-generic
 	perl merge.pl $^ arm > $@
 
 kernel-$(VERSION)-armv7l-tegra.config: /dev/null temp-armv7l-tegra
 	perl merge.pl $^ arm > $@
 
+kernel-$(VERSION)-armv7hl-imx.config: /dev/null temp-armv7l-imx
+	perl merge.pl $^ arm > $@
+
+kernel-$(VERSION)-armv7hl-highbank.config: /dev/null temp-armv7l-highbank
+	perl merge.pl $^ arm > $@
+
 kernel-$(VERSION)-armv7hl-omap.config: /dev/null temp-armv7l-omap-generic
 	perl merge.pl $^ arm > $@
 
diff --git a/config-arm-generic b/config-arm-generic
index 12ae3c3..92e81e1 100644
--- a/config-arm-generic
+++ b/config-arm-generic
@@ -142,8 +142,6 @@ CONFIG_SPARSE_IRQ=y
 
 # CONFIG_ARM_PATCH_PHYS_VIRT is not set
 
-CONFIG_FTMAC100=m
-
 CONFIG_HWSPINLOCK_OMAP=m
 
 CONFIG_USE_OF=y
@@ -154,8 +152,10 @@ CONFIG_MMC_SDHCI_OF=m
 CONFIG_MMC_SDHCI_PXAV3=m
 CONFIG_MMC_SDHCI_PXAV2=m
 
-CONFIG_FTGMAC100=m
 
+# CONFIG_FTGMAC100 is not set
+# CONFIG_FTMAC100 is not set
+#
 CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
 CONFIG_LSM_MMAP_MIN_ADDR=32768
 
diff --git a/config-arm-highbank b/config-arm-highbank
new file mode 100644
index 0000000..f20dfde
--- /dev/null
+++ b/config-arm-highbank
@@ -0,0 +1,23 @@
+ONFIG_ARCH_HIGHBANK=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_DEBUG=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+CONFIG_CPU_FREQ_TABLE=y
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+
+
+# these all currently fail due to missing symbols __bad_udelay or
+# error: implicit declaration of function ‘iowrite32be’
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_DRM_NOUVEAU is not set 
+# CONFIG_MLX4_EN is not set
diff --git a/config-arm-imx b/config-arm-imx
new file mode 100644
index 0000000..5ed7ae2
--- /dev/null
+++ b/config-arm-imx
@@ -0,0 +1,95 @@
+CONFIG_ARCH_MXC=y
+CONFIG_ARCH_MX51=y
+CONFIG_MACH_MX51_BABBAGE=y
+CONFIG_MACH_MX51_3DS=y
+CONFIG_MACH_EUKREA_CPUIMX51=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+
+CONFIG_MACH_EUKREA_CPUIMX51SD=y
+CONFIG_MACH_MX51_EFIKAMX=y
+CONFIG_MACH_MX51_EFIKASB=y
+# CONFIG_SWP_EMULATE is not set
+# CONFIG_THUMB2_KERNEL is not set
+CONFIG_CPU_FREQ_IMX=y
+CONFIG_W1_MASTER_MXC=m
+CONFIG_IMX_SDMA=y
+CONFIG_MACH_MX31ADS=y
+CONFIG_MACH_MX31LILLY=y
+CONFIG_MACH_MX31LITE=y
+CONFIG_MACH_PCM037=y
+CONFIG_MACH_MX31_3DS=y
+CONFIG_MACH_MX31MOBOARD=y
+CONFIG_MACH_QONG=y
+CONFIG_MACH_ARMADILLO5X0=y
+CONFIG_MACH_KZM_ARM11_01=y
+CONFIG_MACH_BUG=y
+CONFIG_MACH_PCM043=y
+CONFIG_MACH_MX35_3DS=y
+CONFIG_MACH_EUKREA_CPUIMX35=y
+CONFIG_MACH_VPR200=y
+CONFIG_SOC_IMX6Q=y
+CONFIG_MXC_IRQ_PRIOR=y
+CONFIG_MXC_PWM=m
+CONFIG_MXC_DEBUG_BOARD=y
+# CONFIG_CPU_BPREDICT_DISABLE is not set
+# CONFIG_CACHE_L2X0 is not set
+CONFIG_ARM_DMA_MEM_BUFFERABLE=y
+CONFIG_ARM_ERRATA_411920=y
+CONFIG_PL310_ERRATA_588369=y
+CONFIG_PL310_ERRATA_727915=y
+CONFIG_ARM_ERRATA_364296=y
+CONFIG_HW_PERF_EVENTS=y
+CONFIG_RFKILL_GPIO=m
+CONFIG_PATA_IMX=m
+CONFIG_ETHERNET=y
+CONFIG_NET_VENDOR_BROADCOM=y
+CONFIG_NET_VENDOR_FREESCALE=y
+CONFIG_FEC=y
+CONFIG_KEYBOARD_IMX=m
+CONFIG_SERIAL_IMX=y
+CONFIG_HW_RANDOM_MXC_RNGA=m
+CONFIG_I2C_IMX=m
+CONFIG_GPIO_GENERIC_PLATFORM=y
+CONFIG_GPIO_MCP23S08=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_PLL=m
+CONFIG_SND_IMX_SOC=m
+CONFIG_USB_EHCI_MXC=y
+CONFIG_USB_IMX21_HCD=m
+CONFIG_MMC_SDHCI_ESDHC_IMX=m
+CONFIG_MMC_MXC=m
+CONFIG_RTC_MXC=m
+
+CONFIG_BACKLIGHT_PWM=m
+CONFIG_LEDS_PWM=m
+
+CONFIG_MACH_PCM037_EET=y
+# CONFIG_MACH_MX31_3DS_MXC_NAND_USE_BBT is not set
+CONFIG_MXC_USE_EPIT=y
+CONFIG_ARM_THUMBEE=y
+CONFIG_ARM_ERRATA_430973=y
+CONFIG_ARM_ERRATA_458693=y
+CONFIG_ARM_ERRATA_460075=y
+CONFIG_ARM_ERRATA_743622=y
+CONFIG_ARM_ERRATA_754322=y
+CONFIG_CAN_FLEXCAN=m
+CONFIG_MTD_NAND_MXC=m
+CONFIG_INPUT_PWM_BEEPER=m
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_IMX2_WDT=m
+CONFIG_SND_SOC_PHYCORE_AC97=m
+CONFIG_SND_SOC_EUKREA_TLV320=m
+
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_DEBUG=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+CONFIG_CPU_FREQ_TABLE=y
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_STAT_DETAILS=y
diff --git a/config-arm-kirkwood b/config-arm-kirkwood
new file mode 100644
index 0000000..631be67
--- /dev/null
+++ b/config-arm-kirkwood
@@ -0,0 +1,50 @@
+CONFIG_ARCH_KIRKWOOD=y
+CONFIG_MACH_DB88F6281_BP=y
+CONFIG_MACH_RD88F6192_NAS=y
+CONFIG_MACH_RD88F6281=y
+CONFIG_MACH_MV88F6281GTW_GE=y
+CONFIG_MACH_SHEEVAPLUG=y
+CONFIG_MACH_ESATA_SHEEVAPLUG=y
+CONFIG_MACH_GURUPLUG=y
+CONFIG_MACH_DOCKSTAR=y
+CONFIG_MACH_TS219=y
+CONFIG_MACH_TS41X=y
+CONFIG_MACH_OPENRD_BASE=y
+CONFIG_MACH_OPENRD_CLIENT=y
+CONFIG_MACH_OPENRD_ULTIMATE=y
+CONFIG_MACH_NETSPACE_V2=y
+CONFIG_MACH_INETSPACE_V2=y
+CONFIG_MACH_NETSPACE_MAX_V2=y
+CONFIG_MACH_D2NET_V2=y
+CONFIG_MACH_NET2BIG_V2=y
+CONFIG_MACH_NET5BIG_V2=y
+CONFIG_MACH_T5325=y
+# CONFIG_CPU_FEROCEON_OLD_ID is not set
+
+
+CONFIG_CACHE_FEROCEON_L2=y
+CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH=y
+CONFIG_MTD_NAND_ORION=m
+CONFIG_MV643XX_ETH=m
+CONFIG_I2C_MV64XXX=m
+CONFIG_GPIO_GENERIC_PLATFORM=y
+CONFIG_GPIO_MCP23S08=m
+CONFIG_ORION_WATCHDOG=m
+CONFIG_SND_KIRKWOOD_SOC=m
+CONFIG_SND_KIRKWOOD_SOC_OPENRD=m
+CONFIG_SND_KIRKWOOD_SOC_T5325=m
+CONFIG_MMC_MVSDIO=m
+CONFIG_LEDS_NS2=m
+CONFIG_LEDS_NETXBIG=m
+CONFIG_RTC_DRV_MV=m
+CONFIG_MV_XOR=y
+CONFIG_CRYPTO_DEV_MV_CESA=m
+
+# CONFIG_TOUCHSCREEN_EETI is not set
+
+# these all currently fail due to missing symbols __bad_udelay or
+# error: implicit declaration of function ‘iowrite32be’
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_DRM_NOUVEAU is not set
+# CONFIG_MLX4_EN is not set
+
diff --git a/config-arm-tegra b/config-arm-tegra
index b131978..ce272c1 100644
--- a/config-arm-tegra
+++ b/config-arm-tegra
@@ -83,3 +83,9 @@ CONFIG_CPU_FREQ_STAT=y
 CONFIG_CPU_FREQ_STAT_DETAILS=y
 
 CONFIG_CRYSTALHD=m
+
+# these all currently fail due to missing symbols __bad_udelay or
+# error: implicit declaration of function ‘iowrite32be’
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_DRM_NOUVEAU is not set
+# CONFIG_MLX4_EN is not set
diff --git a/kernel.spec b/kernel.spec
index aef2389..3241598 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -100,6 +100,12 @@ Summary: The Linux kernel
 %define with_omap      %{?_without_omap:      0} %{?!_without_omap:      1}
 # kernel-tegra (only valid for arm)
 %define with_tegra       %{?_without_tegra:       0} %{?!_without_tegra:       1}
+# kernel-kirkwood (only valid for arm)
+%define with_kirkwood       %{?_without_kirkwood:       0} %{?!_without_kirkwood:       1}
+# kernel-imx (only valid for arm)
+%define with_imx       %{?_without_imx:       0} %{?!_without_imx:       1}
+# kernel-highbank (only valid for arm)
+%define with_highbank       %{?_without_highbank:       0} %{?!_without_highbank:       1}
 
 # Build the kernel-doc package, but don't fail the build if it botches.
 # Here "true" means "continue" and "false" means "fail the build".
@@ -189,10 +195,17 @@ Summary: The Linux kernel
 %define with_pae 0
 %endif
 
-# kernel-tegra and omap is only built on armv7 hard and softfp
+# kernel-tegra, omap, imx and highbank are only built on armv7 hard and softfp
 %ifnarch armv7hl armv7l
 %define with_tegra 0
 %define with_omap 0
+%define with_imx 0
+%define with_highbank 0
+%endif
+
+# kernel-kirkwood is only built for armv5
+%ifnarch armv5tel
+%define with_kirkwood 0
 %endif
 
 # if requested, only build base kernel
@@ -520,6 +533,9 @@ Source90: config-sparc64-generic
 Source100: config-arm-generic
 Source110: config-arm-omap-generic
 Source111: config-arm-tegra
+Source112: config-arm-kirkwood
+Source113: config-arm-imx
+Source114: config-arm-highbank
 
 # This file is intentionally left empty in the stock kernel. Its a nicety
 # added for those wanting to do custom rebuilds with altered config opts.
@@ -884,6 +900,23 @@ This variant of the kernel has numerous debugging options enabled.
 It should only be installed when trying to gather additional information
 on kernel bugs, as some of these options impact performance noticably.
 
+%define variant_summary The Linux kernel compiled for marvell kirkwood boards
+%kernel_variant_package kirkwood
+%description kirkwood
+This package includes a version of the Linux kernel with support for
+marvell kirkwood based systems, i.e., guruplug, sheevaplug
+
+%define variant_summary The Linux kernel compiled for freescale boards
+%kernel_variant_package imx
+%description imx
+This package includes a version of the Linux kernel with support for
+freescale based systems, i.e., efika smartbook.
+
+%define variant_summary The Linux kernel compiled for Calxeda boards
+%kernel_variant_package highbank
+%description highbank
+This package includes a version of the Linux kernel with support for
+Calxeda based systems, i.e., HP arm servers.
 
 %define variant_summary The Linux kernel compiled for TI-OMAP boards
 %kernel_variant_package omap
@@ -1470,6 +1503,12 @@ BuildKernel() {
     if [ -d arch/%{asmarch}/include ]; then
       cp -a --parents arch/%{asmarch}/include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
     fi
+    # include the machine specific headers for ARM variants, if available.
+%ifarch %{arm}
+    if [ -d arch/%{asmarch}/mach-${Flavour}/include ]; then
+      cp -a --parents arch/%{asmarch}/mach-${Flavour}/include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
+    fi
+%endif
     cp -a include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
 
     # Make sure the Makefile and version.h have a matching timestamp so that
@@ -1573,6 +1612,18 @@ BuildKernel %make_target %kernel_image PAEdebug
 BuildKernel %make_target %kernel_image PAE
 %endif
 
+%if %{with_kirkwood}
+BuildKernel %make_target %kernel_image kirkwood
+%endif
+
+%if %{with_imx}
+BuildKernel %make_target %kernel_image imx
+%endif
+
+%if %{with_highbank}
+BuildKernel %make_target %kernel_image highbank
+%endif
+
 %if %{with_omap}
 BuildKernel %make_target %kernel_image omap
 %endif
@@ -1773,6 +1824,15 @@ fi}\
 %kernel_variant_post -v PAEdebug -r (kernel|kernel-smp)
 %kernel_variant_preun PAEdebug
 
+%kernel_variant_preun kirkwood
+%kernel_variant_post -v kirkwood
+
+%kernel_variant_preun imx
+%kernel_variant_post -v imx
+
+%kernel_variant_preun highbank
+%kernel_variant_post -v highbank
+
 %kernel_variant_preun omap
 %kernel_variant_post -v omap
 
@@ -1889,6 +1949,9 @@ fi
 %kernel_variant_files %{with_debug} debug
 %kernel_variant_files %{with_pae} PAE
 %kernel_variant_files %{with_pae_debug} PAEdebug
+%kernel_variant_files %{with_kirkwood} kirkwood
+%kernel_variant_files %{with_imx} imx
+%kernel_variant_files %{with_highbank} highbank
 %kernel_variant_files %{with_omap} omap
 %kernel_variant_files %{with_tegra} tegra
 


More information about the scm-commits mailing list