From 26b57a6dc221b8beda50c38be441dde4ba79a634 Mon Sep 17 00:00:00 2001 From: Imre Kaloz Date: Mon, 5 Jan 2015 15:08:20 +0000 Subject: [PATCH] refresh kernel config, add cpuidle and cpufreq support Signed-off-by: Imre Kaloz SVN-Revision: 43855 --- target/linux/mvebu/config-3.18 | 71 ++++++++++++++----- ...platform_data_for_independent_clocks.patch | 44 ++++++++++++ 2 files changed, 97 insertions(+), 18 deletions(-) create mode 100644 target/linux/mvebu/patches-3.18/150-use_the_cpufreq-dt_platform_data_for_independent_clocks.patch diff --git a/target/linux/mvebu/config-3.18 b/target/linux/mvebu/config-3.18 index 198ad976404..54639f8e1e9 100644 --- a/target/linux/mvebu/config-3.18 +++ b/target/linux/mvebu/config-3.18 @@ -1,10 +1,10 @@ CONFIG_ALIGNMENT_TRAP=y -# CONFIG_AHCI_MVEBU is not set CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y -# CONFIG_CACHE_FEROCEON_L2 is not set CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +CONFIG_ARCH_HAS_SG_CHAIN=y CONFIG_ARCH_HAS_TICK_BROADCAST=y CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y CONFIG_ARCH_MULTIPLATFORM=y # CONFIG_ARCH_MULTI_CPU_AUTO is not set @@ -16,25 +16,33 @@ CONFIG_ARCH_NR_GPIO=0 CONFIG_ARCH_REQUIRE_GPIOLIB=y # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y +CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARCH_USE_BUILTIN_BSWAP=y CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_ARCH_WANT_GENERAL_HUGETLB=y CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y CONFIG_ARM=y CONFIG_ARMADA_370_CLK=y CONFIG_ARMADA_370_XP_TIMER=y +CONFIG_ARMADA_38X_CLK=y CONFIG_ARMADA_XP_CLK=y CONFIG_ARM_APPENDED_DTB=y CONFIG_ARM_ATAG_DTB_COMPAT=y # CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y -# CONFIG_ARM_CPU_SUSPEND is not set +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARM_ERRATA_720789=y +CONFIG_ARM_GIC=y +CONFIG_ARM_HAS_SG_CHAIN=y +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set CONFIG_ARM_L1_CACHE_SHIFT=6 CONFIG_ARM_L1_CACHE_SHIFT_6=y # CONFIG_ARM_LPAE is not set -CONFIG_ARM_NR_BANKS=8 +CONFIG_ARM_MVEBU_V7_CPUIDLE=y CONFIG_ARM_PATCH_PHYS_VIRT=y CONFIG_ARM_THUMB=y # CONFIG_ARM_THUMBEE is not set @@ -43,6 +51,7 @@ CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=y CONFIG_ATAGS=y CONFIG_AUTO_ZRELADDR=y CONFIG_BOUNCE=y +# CONFIG_CACHE_FEROCEON_L2 is not set CONFIG_CACHE_L2X0=y CONFIG_CACHE_PL310=y CONFIG_CLKDEV_LOOKUP=y @@ -50,6 +59,7 @@ CONFIG_CLKSRC_MMIO=y CONFIG_CLKSRC_OF=y CONFIG_CLONE_BACKWARDS=y CONFIG_COMMON_CLK=y +CONFIG_CPUFREQ_DT=y CONFIG_CPU_32v6K=y CONFIG_CPU_32v7=y CONFIG_CPU_ABRT_EV7=y @@ -60,11 +70,29 @@ CONFIG_CPU_CACHE_VIPT=y CONFIG_CPU_COPY_V6=y CONFIG_CPU_CP15=y CONFIG_CPU_CP15_MMU=y +CONFIG_CPU_FREQ=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +CONFIG_CPU_FREQ_GOV_COMMON=y +# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_GOV_USERSPACE is not set +CONFIG_CPU_FREQ_STAT=y +# CONFIG_CPU_FREQ_STAT_DETAILS is not set CONFIG_CPU_HAS_ASID=y # CONFIG_CPU_ICACHE_DISABLE is not set +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_PABRT_V7=y CONFIG_CPU_PJ4B=y +CONFIG_CPU_PM=y CONFIG_CPU_RMAP=y +# CONFIG_CPU_THERMAL is not set CONFIG_CPU_TLB_V7=y CONFIG_CPU_V7=y CONFIG_CRC16=y @@ -75,8 +103,6 @@ CONFIG_DCACHE_WORD_ACCESS=y CONFIG_DEBUG_INFO=y CONFIG_DEBUG_LL=y CONFIG_DEBUG_LL_INCLUDE="debug/8250.S" -# CONFIG_DEBUG_LL_UART_8250 is not set -# CONFIG_DEBUG_LL_UART_PL01X is not set CONFIG_DEBUG_MVEBU_UART=y # CONFIG_DEBUG_MVEBU_UART_ALTERNATE is not set CONFIG_DEBUG_UART_8250=y @@ -98,6 +124,7 @@ CONFIG_DTC=y CONFIG_EARLY_PRINTK=y CONFIG_FIXED_PHY=y CONFIG_FRAME_POINTER=y +CONFIG_GENERIC_ALLOCATOR=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y @@ -106,7 +133,6 @@ CONFIG_GENERIC_IDLE_POLL_SETUP=y CONFIG_GENERIC_IO=y CONFIG_GENERIC_IRQ_CHIP=y CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GENERIC_NET_UTILS=y CONFIG_GENERIC_PCI_IOMAP=y CONFIG_GENERIC_SCHED_CLOCK=y CONFIG_GENERIC_SMP_IDLE_THREAD=y @@ -117,16 +143,20 @@ CONFIG_GPIO_DEVRES=y CONFIG_GPIO_GENERIC=y CONFIG_GPIO_MVEBU=y CONFIG_GPIO_SYSFS=y +CONFIG_HANDLE_DOMAIN_IRQ=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y +CONFIG_HAS_IOPORT_MAP=y # CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y CONFIG_HAVE_ARCH_JUMP_LABEL=y CONFIG_HAVE_ARCH_KGDB=y CONFIG_HAVE_ARCH_PFN_VALID=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_ARM_SCU=y +CONFIG_HAVE_ARM_TWD=y # CONFIG_HAVE_BOOTMEM_INFO_NODE is not set CONFIG_HAVE_BPF_JIT=y CONFIG_HAVE_CC_STACKPROTECTOR=y @@ -167,7 +197,6 @@ CONFIG_HIGHMEM=y # CONFIG_HIGHPTE is not set CONFIG_HZ_FIXED=0 CONFIG_HZ_PERIODIC=y -CONFIG_I2C_BOARDINFO=y CONFIG_INITRAMFS_SOURCE="" CONFIG_IOMMU_HELPER=y CONFIG_IRQCHIP=y @@ -176,31 +205,33 @@ CONFIG_IRQ_DOMAIN_DEBUG=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_IRQ_WORK=y # CONFIG_IWMMXT is not set -CONFIG_KTIME_SCALAR=y +CONFIG_KERNFS=y CONFIG_LEDS_GPIO=y +CONFIG_LIBFDT=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y CONFIG_MACH_ARMADA_370=y -CONFIG_MACH_ARMADA_370_XP=y # CONFIG_MACH_ARMADA_375 is not set -# CONFIG_MACH_ARMADA_38X is not set +CONFIG_MACH_ARMADA_38X=y CONFIG_MACH_ARMADA_XP=y # CONFIG_MACH_DOVE is not set +CONFIG_MACH_MVEBU_ANY=y +CONFIG_MACH_MVEBU_V7=y CONFIG_MAGIC_SYSRQ=y CONFIG_MARVELL_PHY=y CONFIG_MDIO_BOARDINFO=y CONFIG_MEMORY=y +CONFIG_MIGHT_HAVE_CACHE_L2X0=y CONFIG_MIGHT_HAVE_PCI=y -# CONFIG_MLX5_CORE is not set CONFIG_MODULES_USE_ELF_REL=y CONFIG_MTD_CFI_STAA=y CONFIG_MTD_M25P80=y CONFIG_MTD_NAND=y CONFIG_MTD_NAND_ECC=y CONFIG_MTD_NAND_PXA3xx=y -# CONFIG_MTD_SM_COMMON is not set CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_SPLIT_SUPPORT=y CONFIG_MTD_UBI=y CONFIG_MTD_UBI_BEB_LIMIT=20 CONFIG_MTD_UBI_BLOCK=y @@ -221,11 +252,11 @@ CONFIG_MV_XOR=y CONFIG_NEED_DMA_MAP_STATE=y # CONFIG_NEON is not set CONFIG_NET_FLOW_LIMIT=y -CONFIG_NET_RX_BUSY_POLL=y CONFIG_NO_BOOTMEM=y CONFIG_NR_CPUS=4 CONFIG_OF=y CONFIG_OF_ADDRESS=y +CONFIG_OF_ADDRESS_PCI=y CONFIG_OF_EARLY_FLATTREE=y CONFIG_OF_FLATTREE=y CONFIG_OF_GPIO=y @@ -235,6 +266,7 @@ CONFIG_OF_MTD=y CONFIG_OF_NET=y CONFIG_OF_PCI=y CONFIG_OF_PCI_IRQ=y +CONFIG_OF_RESERVED_MEM=y CONFIG_OLD_SIGACTION=y CONFIG_OLD_SIGSUSPEND3=y CONFIG_OUTER_CACHE=y @@ -248,6 +280,7 @@ CONFIG_PERF_USE_VMALLOC=y CONFIG_PHYLIB=y CONFIG_PINCTRL=y CONFIG_PINCTRL_ARMADA_370=y +CONFIG_PINCTRL_ARMADA_38X=y CONFIG_PINCTRL_ARMADA_XP=y CONFIG_PINCTRL_MVEBU=y # CONFIG_PINCTRL_SINGLE is not set @@ -257,17 +290,21 @@ CONFIG_PJ4B_ERRATA_4742=y # CONFIG_PL310_ERRATA_753970 is not set # CONFIG_PL310_ERRATA_769419 is not set CONFIG_PLAT_ORION=y +CONFIG_PM_OPP=y # CONFIG_PREEMPT_RCU is not set CONFIG_RCU_STALL_COMMON=y CONFIG_RFS_ACCEL=y CONFIG_RPS=y CONFIG_RTC_CLASS=y # CONFIG_RTC_DRV_MV is not set +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_SCHED_HRTICK=y # CONFIG_SCSI_DMA is not set CONFIG_SERIAL_8250_DW=y CONFIG_SMP=y CONFIG_SMP_ON_UP=y +CONFIG_SOC_BUS=y CONFIG_SPARSE_IRQ=y CONFIG_SPI=y CONFIG_SPI_MASTER=y @@ -275,7 +312,7 @@ CONFIG_SPI_ORION=y CONFIG_STOP_MACHINE=y CONFIG_SWCONFIG=y CONFIG_SWIOTLB=y -# CONFIG_SWP_EMULATE is not set +CONFIG_SWP_EMULATE=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y # CONFIG_THUMB2_KERNEL is not set CONFIG_TICK_CPU_ACCOUNTING=y @@ -289,7 +326,6 @@ CONFIG_UBIFS_FS_ZLIB=y CONFIG_UID16=y CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" CONFIG_USB_SUPPORT=y -# CONFIG_USB_XHCI_MVEBU is not set CONFIG_USE_OF=y CONFIG_VECTORS_BASE=0xffff0000 CONFIG_VFP=y @@ -300,7 +336,6 @@ CONFIG_XZ_DEC_ARM=y CONFIG_XZ_DEC_BCJ=y CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_ZBOOT_ROM_TEXT=0x0 -# CONFIG_ZBUD is not set CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DMA_FLAG=0 diff --git a/target/linux/mvebu/patches-3.18/150-use_the_cpufreq-dt_platform_data_for_independent_clocks.patch b/target/linux/mvebu/patches-3.18/150-use_the_cpufreq-dt_platform_data_for_independent_clocks.patch new file mode 100644 index 00000000000..c338aeffcf7 --- /dev/null +++ b/target/linux/mvebu/patches-3.18/150-use_the_cpufreq-dt_platform_data_for_independent_clocks.patch @@ -0,0 +1,44 @@ +From 842f7d2c4d392c0571cf72e3eaca26742bebbd1e Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 2 Dec 2014 17:48:02 +0100 +Subject: ARM: mvebu: use the cpufreq-dt platform_data for independent clocks + +This commit adjusts the registration of the cpufreq-dt driver in the +mvebu platform to indicate to the cpufreq driver that the platform has +independent clocks for each CPU. + +Signed-off-by: Thomas Petazzoni +Acked-by: Jason Cooper +Signed-off-by: Arnd Bergmann + +--- a/arch/arm/mach-mvebu/pmsu.c ++++ b/arch/arm/mach-mvebu/pmsu.c +@@ -20,6 +20,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -572,6 +573,10 @@ int mvebu_pmsu_dfs_request(int cpu) + return 0; + } + ++struct cpufreq_dt_platform_data cpufreq_dt_pd = { ++ .independent_clocks = true, ++}; ++ + static int __init armada_xp_pmsu_cpufreq_init(void) + { + struct device_node *np; +@@ -644,7 +649,8 @@ static int __init armada_xp_pmsu_cpufreq + } + } + +- platform_device_register_simple("cpufreq-dt", -1, NULL, 0); ++ platform_device_register_data(NULL, "cpufreq-dt", -1, ++ &cpufreq_dt_pd, sizeof(cpufreq_dt_pd)); + return 0; + } + -- 2.30.2