From ab57f679b638c987a57ed56d40ce26bb4931e00b Mon Sep 17 00:00:00 2001 From: Lukasz Majewski Date: Wed, 4 Feb 2015 23:54:01 +0900 Subject: [PATCH 1/9] ARM: exynos_defconfig: Remove CONFIG_EXYNOS_THERMAL_CORE define After Exynos TMU rework to use device tree for configuration this flag can be removed. It is not used anymore. Signed-off-by: Lukasz Majewski Acked-by: Eduardo Valentin Signed-off-by: Kukjin Kim --- arch/arm/configs/exynos_defconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig index 1d8935359fd0..2e475278927d 100644 --- a/arch/arm/configs/exynos_defconfig +++ b/arch/arm/configs/exynos_defconfig @@ -93,7 +93,6 @@ CONFIG_HWMON=y CONFIG_SENSORS_LM90=y CONFIG_THERMAL=y CONFIG_EXYNOS_THERMAL=y -CONFIG_EXYNOS_THERMAL_CORE=y CONFIG_WATCHDOG=y CONFIG_S3C2410_WATCHDOG=y CONFIG_MFD_CROS_EC=y From 05e2685f383ebfe41f58f522afaab713198fc1de Mon Sep 17 00:00:00 2001 From: Lukasz Majewski Date: Wed, 4 Feb 2015 23:54:01 +0900 Subject: [PATCH 2/9] ARM: exynos_defconfig: Enable thermal emulation for Exynos TMU Enabling thermal emulation on Exynos SoCs. New sysfs attribute - emul_temp is created. Signed-off-by: Lukasz Majewski Acked-by: Eduardo Valentin Signed-off-by: Kukjin Kim --- arch/arm/configs/exynos_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig index 2e475278927d..3c1d383a758f 100644 --- a/arch/arm/configs/exynos_defconfig +++ b/arch/arm/configs/exynos_defconfig @@ -93,6 +93,7 @@ CONFIG_HWMON=y CONFIG_SENSORS_LM90=y CONFIG_THERMAL=y CONFIG_EXYNOS_THERMAL=y +CONFIG_THERMAL_EMULATION=y CONFIG_WATCHDOG=y CONFIG_S3C2410_WATCHDOG=y CONFIG_MFD_CROS_EC=y From a394b1b2c3e8a0bf20daed68fc0ba44d5d5dd818 Mon Sep 17 00:00:00 2001 From: Lukasz Majewski Date: Wed, 4 Feb 2015 23:54:01 +0900 Subject: [PATCH 3/9] ARM: exynos_defconfig: Enable support for cpufreq on Exynos SoCs This commit enables the cpufreq subsystem. Moreover, support for using CPU as a cooling device is provided. Signed-off-by: Lukasz Majewski Signed-off-by: Kukjin Kim --- arch/arm/configs/exynos_defconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig index 3c1d383a758f..70e5d0bdb4e4 100644 --- a/arch/arm/configs/exynos_defconfig +++ b/arch/arm/configs/exynos_defconfig @@ -91,6 +91,8 @@ CONFIG_CHARGER_MAX77693=y CONFIG_CHARGER_TPS65090=y CONFIG_HWMON=y CONFIG_SENSORS_LM90=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_THERMAL=y CONFIG_THERMAL=y CONFIG_EXYNOS_THERMAL=y CONFIG_THERMAL_EMULATION=y From 6562f3bd396ab6d2c9b455e95c67e33bab73bff5 Mon Sep 17 00:00:00 2001 From: Javier Martinez Canillas Date: Tue, 3 Mar 2015 04:45:01 +0900 Subject: [PATCH 4/9] ARM: exynos_defconfig: Disable IOMMU support Enabling Exynos DRM IOMMU support for Exynos is currently broken and causes a BUG on exynos-iommu driver. This was not an issue since the options was disabled in exynos_defconfig but after commit 8dcc14f82f06 ("drm/exynos: IOMMU support should not be selectable by user"), it is selected if EXYNOS_IOMMU is enabled which is in exynos_defconfig. So a kernel built using exynos_defconfig after the mentioned commit fails to boot [0]. Disable IOMMU support in Exynos defconfig until things get sorted out. [0]: [ 1.242183] ------------[ cut here ]------------ [ 1.246191] kernel BUG at drivers/iommu/exynos-iommu.c:481! [ 1.251747] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM [ 1.257561] Modules linked in: [ 1.260603] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.19.0-07478-g796e1c55717e #490 [ 1.268412] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) [ 1.274489] task: ee06c000 ti: ee05a000 task.ti: ee05a000 [ 1.279874] PC is at __exynos_sysmmu_enable+0x184/0x190 [ 1.285080] LR is at exynos_iommu_attach_device+0x44/0xb0 [ 1.290461] pc : [] lr : [] psr: 60000193 [ 1.290461] sp : ee05bcf8 ip : 00000000 fp : ed84aa40 [ 1.301916] r10: ed84a890 r9 : a0000113 r8 : 6db30000 [ 1.307125] r7 : ed84aa40 r6 : 00000000 r5 : 00000000 r4 : ee174e10 [ 1.313635] r3 : 6db30000 r2 : ed84aa40 r1 : 6db30000 r0 : ee174e10 [ 1.320147] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel [ 1.327524] Control: 10c5387d Table: 4000406a DAC: 00000015 [ 1.333252] Process swapper/0 (pid: 1, stack limit = 0xee05a210) [ 1.339241] Stack: (0xee05bcf8 to 0xee05c000) [ 1.343581] bce0: 6db30000 ee174e10 [ 1.351741] bd00: ed84a880 00000000 ed84aa40 ee174e10 a0000113 ed84a890 00000000 c0254a64 [ 1.359900] bd20: 00000000 6db30000 ee174e10 ed84adc0 00000005 00000034 00000001 c0692c1c [ 1.368059] bd40: 00000097 c02526c8 ee29f050 c0017210 ee29f050 ee174e10 edab6810 c0282558 [ 1.376219] bd60: edab6a10 ee1cb000 00000005 c0283520 ee29f240 c028f210 edab6810 ee2ef280 [ 1.384378] bd80: edb24680 ed84a680 ee1cb000 c02883f8 edab6810 ee1cb000 ee1cb000 00000000 [ 1.392537] bda0: ed84a680 ee2ef450 00000000 c027e968 ee1cb000 00000000 00000000 c0268fd4 [ 1.400696] bdc0: edab6800 c06b0de4 ee1cb000 c026a8bc ee2ef0c0 c028f210 00000002 ee2ef460 [ 1.408855] bde0: ee2ef460 00000002 ee2ef280 c0288728 c04af5d0 edab6810 ee2ef280 00000000 [ 1.417014] be00: c06b1348 c0288918 c06b0f00 c06b0f00 edab6810 00000001 c06b0da0 c027eaf4 [ 1.425173] be20: c070334c edaee190 00000000 edab6810 ffffffed c06b0da0 00000000 c028da1c [ 1.433332] be40: edab6810 c070334c 00000000 c028c5f8 edab6810 c06b0da0 edab6844 00000000 [ 1.441492] be60: eda3c740 c028c7a4 c06b0da0 00000000 c028c718 c028af74 ee005274 ee3b7b40 [ 1.449652] be80: c06b0da0 ee3b7680 c06b1540 c028bde4 c05b6990 c06b0da0 c0703324 c06b0da0 [ 1.457811] bea0: c0703324 00000000 c069ab18 c028cdc4 00000000 00000000 c0703324 c027ebd8 [ 1.465970] bec0: 00000000 c05b6990 ffffffff 00000000 00000000 00000000 00000000 c00c4574 [ 1.474129] bee0: 00000000 00000000 c069ab18 c027eb1c 00000000 c069ab18 c069ab18 c0008944 [ 1.482288] bf00: 00000036 c04770e8 ee049800 c06eace0 ee06c000 60000113 c069eab0 00000000 [ 1.490447] bf20: 00000000 c069eab0 60000113 00000000 ef7fcabc ef7fcaae c061c594 c0038640 [ 1.498607] bf40: c05cb1d0 c061bc24 00000006 00000006 c069ea50 c06724d4 00000006 c06724b4 [ 1.506766] bf60: c06c7600 c0647588 c0692c1c 00000097 00000000 c0647d40 00000006 00000006 [ 1.514925] bf80: c0647588 c003d2d8 00000000 c046921c 00000000 00000000 00000000 00000000 [ 1.523084] bfa0: 00000000 c0469224 00000000 c000e680 00000000 00000000 00000000 00000000 [ 1.531243] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 1.539402] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000 [ 1.547567] [] (__exynos_sysmmu_enable) from [] (exynos_iommu_attach_device+0x44/0xb0) [ 1.557199] [] (exynos_iommu_attach_device) from [] (iommu_attach_device+0x18/0x24) [ 1.566576] [] (iommu_attach_device) from [] (arm_iommu_attach_device+0x18/0x50) [ 1.575690] [] (arm_iommu_attach_device) from [] (drm_iommu_attach_device+0x50/0xb4) [ 1.585150] [] (drm_iommu_attach_device) from [] (fimd_bind+0x94/0x1b8) [ 1.593483] [] (fimd_bind) from [] (component_bind_all+0xb4/0x214) [ 1.601380] [] (component_bind_all) from [] (exynos_drm_load+0x9c/0x13c) [ 1.609802] [] (exynos_drm_load) from [] (drm_dev_register+0xa0/0xf4) [ 1.617960] [] (drm_dev_register) from [] (drm_platform_init+0x44/0xcc) [ 1.626293] [] (drm_platform_init) from [] (try_to_bring_up_master.part.3+0xc8/0x104) [ 1.635839] [] (try_to_bring_up_master.part.3) from [] (component_master_add_with_match+0xcc/0x114) [ 1.646602] [] (component_master_add_with_match) from [] (exynos_drm_platform_probe+0xec/0x114) [ 1.657019] [] (exynos_drm_platform_probe) from [] (platform_drv_probe+0x48/0x98) [ 1.666221] [] (platform_drv_probe) from [] (driver_probe_device+0x114/0x234) [ 1.675075] [] (driver_probe_device) from [] (__driver_attach+0x8c/0x90) [ 1.683494] [] (__driver_attach) from [] (bus_for_each_dev+0x54/0x88) [ 1.691653] [] (bus_for_each_dev) from [] (bus_add_driver+0xd8/0x1cc) [ 1.699812] [] (bus_add_driver) from [] (driver_register+0x78/0xf4) [ 1.707797] [] (driver_register) from [] (exynos_drm_init+0xbc/0x110) [ 1.715956] [] (exynos_drm_init) from [] (do_one_initcall+0x80/0x1d0) [ 1.724117] [] (do_one_initcall) from [] (kernel_init_freeable+0x108/0x1d4) [ 1.732796] [] (kernel_init_freeable) from [] (kernel_init+0x8/0xe4) [ 1.740869] [] (kernel_init) from [] (ret_from_fork+0x14/0x34) [ 1.748419] Code: e3403110 11a02001 01a02003 eaffffe4 (e7f001f2) [ 1.754502] ---[ end trace f58ad362326928d7 ]--- Signed-off-by: Javier Martinez Canillas Acked-by: Marek Szyprowski Signed-off-by: Kukjin Kim --- arch/arm/configs/exynos_defconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig index 70e5d0bdb4e4..3d22aae39a83 100644 --- a/arch/arm/configs/exynos_defconfig +++ b/arch/arm/configs/exynos_defconfig @@ -176,7 +176,6 @@ CONFIG_PL330_DMA=y CONFIG_COMMON_CLK_MAX77686=y CONFIG_COMMON_CLK_MAX77802=y CONFIG_COMMON_CLK_S2MPS11=y -CONFIG_EXYNOS_IOMMU=y CONFIG_EXTCON=y CONFIG_EXTCON_MAX14577=y CONFIG_EXTCON_MAX77693=y From 040464888a1acde0f1df9d16842652e7a0e3c780 Mon Sep 17 00:00:00 2001 From: Javier Martinez Canillas Date: Wed, 18 Mar 2015 00:42:17 +0900 Subject: [PATCH 5/9] ARM: exynos_defconfig: Enable Marvell WiFi-Ex support Exynos5420 Peach Pit and Exynos5800 Peach Pi boards have a MMC/SDIO Marvell WiFi-Ex chip. This patch enables wireless support and the mwifiex driver. Signed-off-by: Javier Martinez Canillas Signed-off-by: Kukjin Kim --- arch/arm/configs/exynos_defconfig | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig index 3d22aae39a83..b3ec9d45ca58 100644 --- a/arch/arm/configs/exynos_defconfig +++ b/arch/arm/configs/exynos_defconfig @@ -34,6 +34,10 @@ CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_NET_KEY=y CONFIG_INET=y +CONFIG_WIRELESS=y +CONFIG_CFG80211=y +CONFIG_MWIFIEX=y +CONFIG_MWIFIEX_SDIO=y CONFIG_RFKILL_REGULATOR=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_DEVTMPFS=y From dab2732f60cbfb6e94fd840b4fb76c499506f544 Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Wed, 18 Mar 2015 00:43:43 +0900 Subject: [PATCH 6/9] ARM: exynos_defconfig: Enable CPU idle Current Exynos CPU idle driver supports entering AFTR (Arm Off, Top Running) mode on Exynos 4210 (coupled), Exynos 4x12 and Exynos 5250. Enable it in default configuration to reduce energy consumption. Signed-off-by: Krzysztof Kozlowski Signed-off-by: Kukjin Kim --- arch/arm/configs/exynos_defconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig index b3ec9d45ca58..2c234f1d54e6 100644 --- a/arch/arm/configs/exynos_defconfig +++ b/arch/arm/configs/exynos_defconfig @@ -26,6 +26,8 @@ CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_ARM_APPENDED_DTB=y CONFIG_ARM_ATAG_DTB_COMPAT=y CONFIG_CMDLINE="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC1,115200 init=/linuxrc mem=256M" +CONFIG_CPU_IDLE=y +CONFIG_ARM_EXYNOS_CPUIDLE=y CONFIG_VFP=y CONFIG_NEON=y CONFIG_PM=y From d6d8011de368e04818e2337ebfd048eb415028d5 Mon Sep 17 00:00:00 2001 From: Javier Martinez Canillas Date: Wed, 18 Mar 2015 02:16:42 +0900 Subject: [PATCH 7/9] ARM: exynos_defconfig: Enable ChromeOS EC chardev driver Exynos Chromebooks have an Embedded Controller known as the ChromeOS EC Enable the driver that provides an interface to access from user-space. Signed-off-by: Javier Martinez Canillas Signed-off-by: Kukjin Kim --- arch/arm/configs/exynos_defconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig index 2c234f1d54e6..72a4fffd603e 100644 --- a/arch/arm/configs/exynos_defconfig +++ b/arch/arm/configs/exynos_defconfig @@ -179,6 +179,8 @@ CONFIG_RTC_DRV_S5M=y CONFIG_RTC_DRV_S3C=y CONFIG_DMADEVICES=y CONFIG_PL330_DMA=y +CONFIG_CHROME_PLATFORMS=y +CONFIG_CROS_EC_CHARDEV=y CONFIG_COMMON_CLK_MAX77686=y CONFIG_COMMON_CLK_MAX77802=y CONFIG_COMMON_CLK_S2MPS11=y From 19f79ccf6d77409cd138bce8db206cdac7fd5ea7 Mon Sep 17 00:00:00 2001 From: Javier Martinez Canillas Date: Fri, 27 Mar 2015 01:50:16 +0900 Subject: [PATCH 8/9] ARM: exynos_defconfig: Enable options to mount a rootfs via NFS This patch enables the options to mount a rootfs over NFS and also support for automatic configuration of IP addresses during boot as needed by NFS. Signed-off-by: Javier Martinez Canillas Signed-off-by: Kukjin Kim --- arch/arm/configs/exynos_defconfig | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig index 72a4fffd603e..02be4c072497 100644 --- a/arch/arm/configs/exynos_defconfig +++ b/arch/arm/configs/exynos_defconfig @@ -36,6 +36,10 @@ CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_NET_KEY=y CONFIG_INET=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y CONFIG_WIRELESS=y CONFIG_CFG80211=y CONFIG_MWIFIEX=y @@ -206,6 +210,8 @@ CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_CRAMFS=y CONFIG_ROMFS_FS=y +CONFIG_NFS_FS=y +CONFIG_ROOT_NFS=y CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_ASCII=y CONFIG_NLS_ISO8859_1=y From bb84296ae52da844c9cab81e0197152a69f2f841 Mon Sep 17 00:00:00 2001 From: Javier Martinez Canillas Date: Fri, 27 Mar 2015 02:00:09 +0900 Subject: [PATCH 9/9] ARM: exynos_defconfig: Enable HDMI support Many Exynos boards have an HDMI port so enable Exynos DRM HDMI support. Signed-off-by: Javier Martinez Canillas Signed-off-by: Kukjin Kim --- arch/arm/configs/exynos_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig index 02be4c072497..d034c96c039b 100644 --- a/arch/arm/configs/exynos_defconfig +++ b/arch/arm/configs/exynos_defconfig @@ -130,6 +130,7 @@ CONFIG_REGULATOR_S2MPS11=y CONFIG_REGULATOR_S5M8767=y CONFIG_REGULATOR_TPS65090=y CONFIG_DRM=y +CONFIG_DRM_EXYNOS_HDMI=y CONFIG_DRM_BRIDGE=y CONFIG_DRM_PTN3460=y CONFIG_DRM_PS8622=y