diff options
author | Sam Protsenko <semen.protsenko@linaro.org> | 2019-05-20 19:24:07 +0300 |
---|---|---|
committer | Sam Protsenko <semen.protsenko@linaro.org> | 2019-05-25 01:40:28 +0300 |
commit | 7388565a8149845ffd128261125e1669eae7e466 (patch) | |
tree | 1433cd8188f0713699ff2099a3aa157dfd1a34ac | |
parent | 63863ee8e2f6f6ae47be3dff4af2f2806f5ca2dd (diff) |
Add ti_config_fragments/ from TI Android kernel v4.19
Commit-id in ti-linux: 7c0b2515757c17d90961039b8e9518f40d2c9d02
Most needed config options:
- android.cfg: graphics enablement (enable SGX driver)
- audio_display.cfg: graphics enablement (enable DRM options)
- connectivity.cfg: enable USB options (makes ADB functional)
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
26 files changed, 2620 insertions, 0 deletions
diff --git a/ti_config_fragments/README b/ti_config_fragments/README new file mode 100644 index 000000000000..6879ba4ffcbd --- /dev/null +++ b/ti_config_fragments/README @@ -0,0 +1,170 @@ +################################## +# Introduction +################################## + +Using config fragments in the Linux kernel is a supported model in the +Linux kernel main line. TI has taken advantage of this model to be able +to take a base defconfig and add or remove configuration flags based contained +within a config fragment. This allows the base defconfig to be left in tact +and helps facilitate and understanding of what config flags can be enabled +or disabled. The config fragments drastically reduces the number of merge +conflicts when the Linux stable dot release (LTS) is merged back to the +integration point as well as merges for TI domain trees. + +But alas this creates another issue as with the config fragments there is no +direct defconfig for customers to build just many, many, many options. + +Therefore the defconfig_builder script was derived to take a defconfig map file +and present a command line interface to the customer to to create a standard +defconfig based off the TI integration branches. The customer is walked through +steps and if successful a defconfig will be created in the arch/arm/configs directory +that can be built. + +################################## +# Requirements +################################## + +* awk v1.2 or greater. +* bash shell 4.3.11(1)-release or greater. +* Coreutils package v8.1 or greater. +* grep (GNU grep) v2.16 or greater. +* Linux kernel with merge_config script. +* sed (GNU sed) v4.2.2 or greater. + +################################## +# Usage +################################## + +There is only one option for this script. This option defines the working +path to where the Linux kernel resides. + + -w - Location of the TI Linux kernel + -t - Indicates the type of defconfig to build. This will force the + defconfig to build without user interaction. + -l - List all buildable defconfig options + +Command line example to generate the TI SDK AM335x processor defconfig automatically +without user interaction: + + ti_config_fragments/defconfig_builder.sh -t ti_sdk_am3x_release + +Command line Example if building from the ti_config_fragments directory: + defconfig_builder.sh -w ../. + +User interactive command line example: + +################################## +# Defconfig Map File +################################## + +The defconfig map file contains the mapping of the defconfig options and the +assembly instructions for the defconfig to be created. + +The file contains keywords and all are *required* to be filled out. + +classification: - Defines the class of the defconfig which can be Release, Debug, System Test. +type: - Defines the type of build. Like debug build, LSK build or RT build +defconfig: - Defines the base defconfig config to append the config fragments to +config_file: - Defines a file that contains a list of config fragments. If there is not a list then declare "None" for this field. +extra_configs: - These are individual config fragments that can be appended to the defconfig by themselves or in addition to + the config_file. + +A Note on ordering of "extra_configs": + +In general, config fragments should be listed such that the fragment +with more restrictive options goes towards the end of the list. This +makes sure that those options are not inadvertently overridden by more +generically applicable options. More concretely, the following ordering +is recommended: + +1) Pruning of non-TI features +2) Introduce domain specific features +3) Optimize for an SoC family +4) Optimize for a particular SoC +5) Introduce distribution specific features. (example: Android) + +Example: + +This is an example of an AM335x entry that will create a defconfig only for AM335x +processors, based on the omap2plus_defconfig. The defconfig_fragment file adds features +that have been enabled in the TI integrated kernel. The extra_configs will add in the +debug options as well as undefine all processors that are not AM335x. + +classification: SDK_release type: ti_sdk_am3x_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg omap_soc.cfg am33xx_only.cfg systemd.cfg + +################################## +# Defconfig Mapping +################################## + +#Processor Specific Defconfig options + +These defconfig options enable the Linux kernel for the targer processor only. Other processor platforms +are disabled. The base for each of these defconfigs is the omap2plus_defconfig contained +in the arch/arm/configs directory of the kernel. + + TI Base Integrated Kernel: + am335x_only - Adds the configs from the files contained in the defconfig_fragment file. + am335x_debug_only - Adds the configs from the files contained in the defconfig_fragment file and adds in the debug options from the debug_options.cfg + am43x_only - Adds the configs from the files contained in the defconfig_fragment file. + am43x_debug_only - Adds the configs from the files contained in the defconfig_fragment file and adds in the debug options from the debug_options.cfg + dra7xx_only - Adds the configs from the files contained in the defconfig_fragment file. + dra7xx_debug_only - Adds the configs from the files contained in the defconfig_fragment file and adds in the debug options from the debug_options.cfg + + Linaro Stable Kernel builds: (These configurations are only available on the TI LSK branch.) + am335x_lsk_only - Adds the configs from the files contained in the defconfig_fragment file and adds in the linaro options from the linaro/configs directory + am335x_lsk_debug_only - Adds the configs from the files contained in the defconfig_fragment file and adds in the debug options from the debug_options.cfg as + well as the linaro options from the linaro/configs directory + am43x_lsk_only - Adds the configs from the files contained in the defconfig_fragment file and adds in the linaro options from the linaro/configs directory + am43x_lsk_debug_only - Adds the configs from the files contained in the defconfig_fragment file and adds in the debug options from the debug_options.cfg as + well as the linaro options from the linaro/configs directory + dra7xx_lsk_only - Adds the configs from the files contained in the defconfig_fragment file and adds in the linaro options from the linaro/configs directory + dra7xx_lsk_debug_only - Adds the configs from the files contained in the defconfig_fragment file and adds in the debug options from the debug_options.cfg as + well as the linaro options from the linaro/configs directory + + TI Based Real Time Kernel: (These configurations are only available on the TI RT branch.) + am335x_rt_only - Adds the configs from the files contained in the rt_defconfig_fragment file. + am335x_rt_debug_only - Adds the configs from the files contained in the rt_defconfig_fragment file and adds in the debug options from the debug_options.cfg. + am43x_rt_only - Adds the configs from the files contained in the rt_defconfig_fragment file. + am43x_rt_debug_only - Adds the configs from the files contained in the rt_defconfig_fragment file and adds in the debug options from the debug_options.cfg. + dra7xx_rt_only - Adds the configs from the files contained in the rt_defconfig_fragment file. + dra7xx_rt_debug_only - Adds the configs from the files contained in the rt_defconfig_fragment file and adds in the debug options from the debug_options.cfg. + +#OMAP2+ Defconfig Options + +These defconfig options use the omap2plus_defconfig in the arch/arm/configs directory as the base defconfig. +These options do not disable any processor's or platforms but add additional features that + + TI Base Integrated Kernel: + omap2plus_debug - Takes the omap2plus_defconfig and only adds the debug options from the debug_options.cfg. + ti_omap2plus - Adds the configs from the files contained in the defconfig_fragment file. + ti_omap2plus_debug - Adds the configs from the files contained in the defconfig_fragment file and adds in the debug options from the debug_options.cfg + + Linaro Stable Kernel builds: (These configurations are only available on the TI LSK branch.) + ti_lsk_omap2plus - Adds the configs from the files contained in the defconfig_fragment file and adds in the linaro options from the linaro/configs directory. + ti_lsk_omap2plus_debug - Adds the configs from the files contained in the defconfig_fragment file and adds in the debug options from the debug_options.cfg as + well as the linaro options from the linaro/configs directory + + TI Based Real Time Kernel: (These configurations are only available on the TI RT branch.) + ti_rt_omap2plus - Adds the configs from the files contained in the rt_defconfig_fragment file. + ti_rt_omap2plus_debug - Adds the configs from the files contained in the rt_defconfig_fragment file and adds in the debug options from the debug_options.cfg. + +#Keystone Defconfig Options + +These defconfig options use the keystone_defconfig in the arch/arm/configs directory as the base defconfig. +These options do not disable any processor's or platforms but add additional features that + + TI Base Integrated Kernel: + base_keystone_debug - Takes the keystone_defconfig and only adds the debug options from the debug_options.cfg. + ti_keystone defconfig - Adds the configs from the files contained in the multi_core_defconfig_fragment file. + ti_keystone_debug - Adds the configs from the files contained in the multi_core_defconfig_fragment file and + adds in the debug options from the debug_options.cfg. + + Linaro Stable Kernel builds: (These configurations are only available on the TI LSK branch.) + ti_lsk_keystone - Adds the configs from the files contained in the multi_core_defconfig_fragment file and adds in the + linaro options from the linaro/configs directory + ti_lsk_keystone_debug_only - Adds the configs from the files contained in the multi_core_defconfig_fragment file and adds in the + debug options from the debug_options.cfg as well as the linaro options from the linaro/configs directory + + TI Based Real Time Kernel: (These configurations are only available on the TI RT branch.) + ti_rt_keystone - Adds the configs from the files contained in the rt_defconfig_fragment file. + ti_rt_keystone_debug - Adds the configs from the files contained in the rt_defconfig_fragment file and adds in the debug options from the debug_options.cfg. diff --git a/ti_config_fragments/am33xx_only.cfg b/ti_config_fragments/am33xx_only.cfg new file mode 100644 index 000000000000..2c6620426a25 --- /dev/null +++ b/ti_config_fragments/am33xx_only.cfg @@ -0,0 +1,19 @@ +################################################## +# TI AM33XX specific config options +################################################## + +# Disable Socs other than AM33xx +CONFIG_ARCH_OMAP2=n +CONFIG_ARCH_OMAP3=n +CONFIG_ARCH_OMAP4=n +CONFIG_SOC_OMAP5=n +CONFIG_SOC_AM43XX=n +CONFIG_SOC_DRA7XX=n +CONFIG_ARCH_KEYSTONE=n + +#Disable CONFIG_SMP +CONFIG_SMP=n +CONFIG_CPUSETS=n + +# Increase CMA for HDMI +CONFIG_CMA_SIZE_MBYTES=48 diff --git a/ti_config_fragments/am43xx_only.cfg b/ti_config_fragments/am43xx_only.cfg new file mode 100644 index 000000000000..4c796e0a11c3 --- /dev/null +++ b/ti_config_fragments/am43xx_only.cfg @@ -0,0 +1,19 @@ +################################################## +# TI AM43XX specific config options +################################################## + +# Disable Socs other than AM43xx +CONFIG_ARCH_OMAP2=n +CONFIG_ARCH_OMAP3=n +CONFIG_ARCH_OMAP4=n +CONFIG_SOC_OMAP5=n +CONFIG_SOC_AM33XX=n +CONFIG_SOC_DRA7XX=n +CONFIG_ARCH_KEYSTONE=n + +#Disable CONFIG_SMP +CONFIG_SMP=n +CONFIG_CPUSETS=n + +# Increase CMA for HDMI +CONFIG_CMA_SIZE_MBYTES=48 diff --git a/ti_config_fragments/android.cfg b/ti_config_fragments/android.cfg new file mode 100644 index 000000000000..3546c0648faf --- /dev/null +++ b/ti_config_fragments/android.cfg @@ -0,0 +1,32 @@ +############################################################################### +# TI Android Config Options +# Use to set additional android options exclusively for TI products +# Note: +# Use kernel/configs/android-base.config to set google android base options +# Use kernel/configs/android-recommended.config to set google android +# recommended options +############################################################################### +CONFIG_CMDLINE="androidboot.selinux=permissive printk.devkmsg=on cma=256m vmalloc=400m" +CONFIG_CMDLINE_EXTEND=y +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y + +# Enable firmware fallback mechanism +CONFIG_FW_LOADER_USER_HELPER=y +CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y + +# USB +CONFIG_OMAP_USB2=y +CONFIG_USB_DWC3=y +CONFIG_USB_DWC3_OMAP=y + +# Extcon drivers +CONFIG_EXTCON=y +CONFIG_EXTCON_USB_GPIO=y +CONFIG_EXTCON_PALMAS=y + +# Software Sync Interface +CONFIG_SW_SYNC=y +CONFIG_PVR_SGX544=m + +# Misc +CONFIG_DEVTMPFS=n diff --git a/ti_config_fragments/arm64_prune.cfg b/ti_config_fragments/arm64_prune.cfg new file mode 100644 index 000000000000..ec809690a2ef --- /dev/null +++ b/ti_config_fragments/arm64_prune.cfg @@ -0,0 +1,78 @@ +CONFIG_ARCH_SUNXI=n +CONFIG_ARCH_ALPINE=n +CONFIG_ARCH_BCM2835=n +CONFIG_ARCH_BCM_IPROC=n +CONFIG_ARCH_BERLIN=n +CONFIG_ARCH_BRCMSTB=n +CONFIG_ARCH_EXYNOS=n +CONFIG_ARCH_LAYERSCAPE=n +CONFIG_ARCH_LG1K=n +CONFIG_ARCH_HISI=n +CONFIG_ARCH_MEDIATEK=n +CONFIG_ARCH_MESON=n +CONFIG_ARCH_MVEBU=n +CONFIG_ARCH_QCOM=n +CONFIG_ARCH_ROCKCHIP=n +CONFIG_ARCH_SEATTLE=n +CONFIG_ARCH_RENESAS=n +CONFIG_ARCH_R8A7795=n +CONFIG_ARCH_R8A7796=n +CONFIG_ARCH_STRATIX10=n +CONFIG_ARCH_SYNQUACER=n +CONFIG_ARCH_TEGRA=n +CONFIG_ARCH_SPRD=n +CONFIG_ARCH_THUNDER=n +CONFIG_ARCH_THUNDER2=n +CONFIG_ARCH_UNIPHIER=n +CONFIG_ARCH_VEXPRESS=n +CONFIG_ARCH_XGENE=n +CONFIG_ARCH_ZX=n +CONFIG_ARCH_ZYNQMP=n +CONFIG_ARCH_TEGRA_132_SOC=n +CONFIG_ARCH_TEGRA_210_SOC=n +CONFIG_ARCH_TEGRA_186_SOC=n + +CONFIG_QCOM_FALKOR_ERRATUM_1003=n +CONFIG_QCOM_FALKOR_ERRATUM_1009=n +CONFIG_QCOM_QDF2400_ERRATUM_0065=n +CONFIG_QCOM_FALKOR_ERRATUM_E1041=n + +CONFIG_CAVIUM_ERRATUM_22375=n +CONFIG_CAVIUM_ERRATUM_23144=n +CONFIG_CAVIUM_ERRATUM_23154=n +CONFIG_CAVIUM_ERRATUM_27456=n +CONFIG_CAVIUM_ERRATUM_30115=n + +CONFIG_HISILICON_ERRATUM_161600802=n + +CONFIG_SERIAL_8250_FSL=n +CONFIG_SERIAL_8250_DW=n +CONFIG_SERIAL_AMBA_PL011=n +CONFIG_SERIAL_AMBA_PL011_CONSOLE=n +CONFIG_SERIAL_XILINX_PS_UART=n +CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=n + +CONFIG_ARM_SCPI_PROTOCOL=n +CONFIG_ARM_SCPI_POWER_DOMAIN=n +CONFIG_ARM_SCPI_CPUFREQ=n +CONFIG_SENSORS_ARM_SCPI=n +CONFIG_COMMON_CLK_SCPI=n + +CONFIG_ARM_MHU=n +CONFIG_PLATFORM_MHU=n + +CONFIG_ACPI=n +CONFIG_EFI=n + +CONFIG_NUMA=n + +CONFIG_XEN=n +CONFIG_KVM=n + +CONFIG_ARM_BIG_LITTLE_CPUFREQ=n + +CONFIG_PCI_XGENE=n +CONFIG_PCI_HISI=n +CONFIG_PCIE_KIRIN=n + +CONFIG_DEBUG_INFO=n diff --git a/ti_config_fragments/audio_display.cfg b/ti_config_fragments/audio_display.cfg new file mode 100644 index 000000000000..df5279fd9474 --- /dev/null +++ b/ti_config_fragments/audio_display.cfg @@ -0,0 +1,152 @@ +################################################## +# TI Audio/Display config options +################################################## + +CONFIG_CMA=y +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=24 + +# backlight + +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_TLC591XX=y + +CONFIG_BACKLIGHT_PWM=y +CONFIG_BACKLIGHT_GPIO=y +CONFIG_BACKLIGHT_LED=y + +# fbdev + +CONFIG_FB_SSD1307=y + +# drm + +CONFIG_DRM=y +CONFIG_DRM_SII902X=y +CONFIG_DRM_TI_TFP410=y +CONFIG_DRM_TOSHIBA_TC358767=y +CONFIG_DRM_TOSHIBA_TC358768=y +CONFIG_DRM_PANEL_SIMPLE=y +CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS=y + +# SGX driver needs legacy support +CONFIG_DRM_LEGACY=y +CONFIG_DRM_VM=y + +# tilcdc + +CONFIG_DRM_I2C_NXP_TDA998X=y +CONFIG_DRM_TILCDC=y + +# omapdrm + +CONFIG_DRM_OMAP=y +CONFIG_DRM_OMAP_WB=y +CONFIG_OMAP2_DSS=y +CONFIG_OMAP2_DSS_DEBUGFS=y +CONFIG_OMAP2_DSS_DPI=y +CONFIG_OMAP2_DSS_VENC=n +CONFIG_OMAP4_DSS_HDMI=y +CONFIG_OMAP5_DSS_HDMI=y +CONFIG_OMAP2_DSS_SDI=n +CONFIG_OMAP2_DSS_DSI=n + +CONFIG_DRM_OMAP_CONNECTOR_HDMI=y +CONFIG_DRM_OMAP_ENCODER_TPD12S015=y +CONFIG_DRM_OMAP_DRA7EVM_ENCODER_TPD12S015=y +CONFIG_DRM_OMAP_ENCODER_TFP410=y +CONFIG_DRM_OMAP_CONNECTOR_DVI=y +CONFIG_DRM_OMAP_PANEL_DPI=y + +# tidss +CONFIG_DRM_TIDSS=y +CONFIG_DRM_TIDSS_DSS6=y +CONFIG_DRM_TIDSS_DSS7=y + +# Disable unneeded features + +CONFIG_VGA_ARB=n +CONFIG_DRM_I2C_ADV7511=n +CONFIG_DRM_NOUVEAU=n +CONFIG_DRM_EXYNOS=n +CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=n +CONFIG_DRM_NXP_PTN3460=n +CONFIG_DRM_PARADE_PS8622=n +CONFIG_DRM_STI=n +CONFIG_DRM_PANEL_SAMSUNG_LD9040=n +CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=n +CONFIG_DRM_DUMB_VGA_DAC=n +CONFIG_LCD_CLASS_DEVICE=n +CONFIG_FB_EFI=n +CONFIG_FB_SIMPLE=n +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=n +CONFIG_DRM_HISI_KIRIN=n +CONFIG_FB_ARMCLCD=n +CONFIG_XEN_FBDEV_FRONTEND=n +CONFIG_DRM_RCAR_LVDS=n +CONFIG_DRM_FSL_DCU=n +CONFIG_DRM_SII9234=n +CONFIG_DRM_MXSFB=n + +# Touchscreen + +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_EDT_FT5X06=m +CONFIG_TOUCHSCREEN_PIXCIR=m +CONFIG_TOUCHSCREEN_GOODIX=m + +CONFIG_HID_MULTITOUCH=m + +# V4L2 + +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_CONTROLLER=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y + +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_VIDEO_AM437X_VPFE=m +CONFIG_VIDEO_TI_CAL=m +CONFIG_VIDEO_TI_VIP=m + +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_VIDEO_TI_VPE=m + +CONFIG_MEDIA_SUBDRV_AUTOSELECT=n +CONFIG_VIDEO_OV2659=m +CONFIG_VIDEO_OV1063X=m +CONFIG_VIDEO_MT9T11X=m +CONFIG_VIDEO_OV490=m +CONFIG_VIDEO_OV5640=m + +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y + +# sound - START +CONFIG_SND_ARM=n +CONFIG_SND_SPI=n +CONFIG_SND_ATMEL_SOC=n +CONFIG_SND_SOC_FSL_SAI=n +CONFIG_SND_SOC_AK4642=n +CONFIG_SND_SOC_CPCAP=n +CONFIG_SND_SOC_SGTL5000=n +CONFIG_SND_SOC_STI_SAS=n +CONFIG_SND_SOC_WM8978=n + +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_SOC=y +CONFIG_SND_SIMPLE_CARD=m +CONFIG_SND_SIMPLE_SCU_CARD=m +CONFIG_SND_AUDIO_GRAPH_CARD=m +CONFIG_SND_AUDIO_GRAPH_SCU_CARD=m + +CONFIG_SND_SOC_DAVINCI_MCASP=y +CONFIG_SND_SOC_OMAP_HDMI=m + +CONFIG_SND_SOC_TLV320AIC3X=m +CONFIG_SND_SOC_TLV320AIC31XX=m +CONFIG_SND_SOC_PCM3168A_I2C=m +CONFIG_SND_SOC_HDMI_CODEC=m +# sound - END diff --git a/ti_config_fragments/baseport.cfg b/ti_config_fragments/baseport.cfg new file mode 100644 index 000000000000..0337efa63809 --- /dev/null +++ b/ti_config_fragments/baseport.cfg @@ -0,0 +1,584 @@ +################################################## +# TI Baseport Config Options +################################################## + +# Kernel compression +CONFIG_KERNEL_GZIP=n +CONFIG_KERNEL_LZMA=y +CONFIG_KERNEL_LZ4=n +CONFIG_KERNEL_XZ=n +CONFIG_KERNEL_LZO=n + +# Enable process accounting +CONFIG_BSD_PROCESS_ACCT=y + +# Have some way to pick up kernel config later on +# Always useful to look at /proc/config.gz +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y + +# Add Bin2c +CONFIG_BUILD_BIN2C=y + +# Add base Cgroups functions +CONFIG_CGROUPS=y +CONFIG_CGROUP_DEBUG=n +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CPUSETS=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_PAGE_COUNTER=y +CONFIG_MEMCG=y +CONFIG_MEMCG_SWAP=y +CONFIG_MEMCG_SWAP_ENABLED=y +CONFIG_CGROUP_PERF=y +CONFIG_CGROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_RT_GROUP_SCHED=y +CONFIG_BLK_CGROUP=y +CONFIG_DEBUG_BLK_CGROUP=n +CONFIG_CGROUP_WRITEBACK=y + +# Choose CONFIG_EMBEDDED +CONFIG_NAMESPACES=n +CONFIG_EMBEDDED=y +CONFIG_EXPERT=y +CONFIG_ARM_PATCH_PHYS_VIRT=y + +# Enable all kernel symbols please +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y + +# Enable AEABI +CONFIG_AEABI=y + +# How do we want kernel Modules to work? +CONFIG_BASE_FULL=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODULE_SIG=n +CONFIG_MODULE_COMPRESS=n +CONFIG_MODULES_TREE_LOOKUP=y + +# Boot options +CONFIG_USE_OF=y +CONFIG_ATAGS=y +CONFIG_DEPRECATED_PARAM_STRUCT=n +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=n +CONFIG_CMDLINE="" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +CONFIG_CMDLINE_EXTEND=n +CONFIG_CMDLINE_FORCE=n +CONFIG_ATAGS_PROC=y +CONFIG_CRASH_DUMP=n +CONFIG_AUTO_ZRELADDR=y + +# Mem allocator +CONFIG_SLAB=n +CONFIG_SLUB=y + +# Enable NEON +CONFIG_VFP=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# POSIX Message queue +CONFIG_POSIX_MQUEUE=y + +# No Multi Cluster systems in TI yet.. +CONFIG_MCPM=n + +# Serial +CONFIG_SERIAL_8250_OMAP=y +CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y +CONFIG_SERIAL_8250_NR_UARTS=10 +CONFIG_SERIAL_8250_RUNTIME_UARTS=10 +CONFIG_SERIAL_8250_DMA=y +CONFIG_SERIAL_OMAP=n +CONFIG_SERIAL_8250_DW=n +CONFIG_SERIAL_8250_EM=n +CONFIG_SERIAL_AMBA_PL011=n +CONFIG_SERIAL_XILINX_PS_UART=n +CONFIG_SERIAL_FSL_LPUART=n +CONFIG_SERIAL_CONEXANT_DIGICOLOR=n +CONFIG_SERIAL_ST_ASC=n + +CONFIG_JUMP_LABEL=y + +# Disable Extra debug options +CONFIG_SCHEDSTATS=n +CONFIG_TIMER_STATS=n +CONFIG_DEBUG_SPINLOCK=n +CONFIG_DEBUG_MUTEXES=n +CONFIG_DEBUG_LOCK_ALLOC=n +CONFIG_PROVE_LOCKING=n +CONFIG_LOCKDEP=n +CONFIG_STACKTRACE=n +CONFIG_SCHED_DEBUG=n +CONFIG_FTRACE=n +CONFIG_ARM_UNWIND=n +CONFIG_DEBUG_PREEMPT=n +CONFIG_SLUB_DEBUG=n +CONFIG_LOCKUP_DETECTOR=n +CONFIG_DETECT_HUNG_TASK=n +CONFIG_IRQ_DOMAIN_DEBUG=n +CONFIG_DEBUG_BUGVERBOSE=n + +CONFIG_PREEMPT=y +CONFIG_DEBUG_FS=y + +# Enable System V IPC +CONFIG_SYSVIPC=y + +# Power management options +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_SUSPEND_SKIP_SYNC=n +CONFIG_HIBERNATION=n +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +CONFIG_PM_AUTOSLEEP=n +CONFIG_PM_WAKELOCKS=n +CONFIG_PM=y +CONFIG_PM_DEBUG=y +CONFIG_APM_EMULATION=n +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +CONFIG_PM_GENERIC_DOMAINS=y +CONFIG_WQ_POWER_EFFICIENT_DEFAULT=n +CONFIG_PM_GENERIC_DOMAINS_SLEEP=y +CONFIG_PM_GENERIC_DOMAINS_OF=y +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y + +# Clock framework stuff we need +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y +CONFIG_COMMON_CLK_SI5351=n +CONFIG_COMMON_CLK_SI514=n +CONFIG_COMMON_CLK_SI570=n +CONFIG_COMMON_CLK_CDCE925=n +CONFIG_CLK_TWL6040=n +CONFIG_CLK_QORIQ=n +CONFIG_COMMON_CLK_PALMAS=y +CONFIG_COMMON_CLK_PWM=n +CONFIG_COMMON_CLK_PXA=n +CONFIG_COMMON_CLK_CDCE706=n +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_CLKSRC_TI_32K=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_GLOBAL_TIMER=n +CONFIG_ARM_TIMER_SP804=n +CONFIG_TI_SYSCON_CLK=y +# Clock cleanup please +CONFIG_OMAP_RESET_CLOCKS=y + +# CPU Idle +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_DT_IDLE_STATES=y + +# ARM CPU Idle Drivers +CONFIG_ARM_CPUIDLE=y +CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED=n + +# CPU Frequency scaling +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y + +# CPUFreq Driver Options +CONFIG_CPUFREQ_DT=y +CONFIG_ARM_BIG_LITTLE_CPUFREQ=n +CONFIG_ARM_KIRKWOOD_CPUFREQ=n +CONFIG_ARM_OMAP2PLUS_CPUFREQ=n +CONFIG_ARM_TI_CPUFREQ=y +CONFIG_QORIQ_CPUFREQ=n + +# AMx3 Power Config Options +CONFIG_MAILBOX=y +CONFIG_OMAP2PLUS_MBOX=y +CONFIG_WKUP_M3_RPROC=m +CONFIG_SOC_TI=y +CONFIG_SOC_BRCMSTB=n +CONFIG_WKUP_M3_IPC=m +CONFIG_AMX3_PM=m +CONFIG_SRAM=y +CONFIG_TI_EMIF_SRAM=m +CONFIG_SUNXI_SRAM=n + +CONFIG_PM_DEVFREQ=n + +# K2G Power config options +# CONFIG_MAILBOX is enabled in AMx3 +CONFIG_TI_MESSAGE_MANAGER=y +CONFIG_TI_SCI_PROTOCOL=y +CONFIG_TI_SCI_PM_DOMAINS=y +CONFIG_TI_SCI_CLK=y + +# Enable Reset Controllers +CONFIG_RESET_CONTROLLER=y +CONFIG_RESET_TI_SYSCON=y +CONFIG_RESET_TI_SCI=y + +# CPUFreq and OPP drivers +CONFIG_OPP_DOMAIN_TI=y + +# Thermal +CONFIG_THERMAL=y +CONFIG_THERMAL_OF=y +CONFIG_THERMAL_WRITABLE_TRIPS=y +CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y +CONFIG_THERMAL_GOV_FAIR_SHARE=y +CONFIG_THERMAL_GOV_STEP_WISE=y +CONFIG_THERMAL_GOV_BANG_BANG=y +CONFIG_THERMAL_GOV_USER_SPACE=y +CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y +CONFIG_CPU_THERMAL=y +CONFIG_TI_SOC_THERMAL=y +CONFIG_TI_THERMAL=y +CONFIG_OMAP4_THERMAL=y +CONFIG_OMAP5_THERMAL=y +CONFIG_DRA752_THERMAL=y + +# Since HWMON is needed by Sensors.. +CONFIG_HWMON=y +CONFIG_SENSORS_TMP102=y +CONFIG_SENSORS_GPIO_FAN=y + +# Enable the reset framework +CONFIG_POWER_RESET=y +CONFIG_POWER_SUPPLY=y + +# Pinctrl +CONFIG_PINCTRL_TI_IODELAY=y +CONFIG_PINCTRL_SINGLE=y + +# +# Multifunction device drivers +CONFIG_MFD_CORE=y +CONFIG_MFD_AS3711=n +CONFIG_MFD_AS3722=n +CONFIG_PMIC_ADP5520=n +CONFIG_MFD_AAT2870_CORE=n +CONFIG_MFD_ATMEL_FLEXCOM=n +CONFIG_MFD_ATMEL_HLCDC=n +CONFIG_MFD_BCM590XX=n +CONFIG_MFD_AXP20X=n +CONFIG_MFD_AXP20X_I2C=n +CONFIG_MFD_CROS_EC=n +CONFIG_MFD_CROS_EC_I2C=n +CONFIG_MFD_CROS_EC_SPI=n +CONFIG_MFD_ASIC3=n +CONFIG_PMIC_DA903X=n +CONFIG_MFD_DA9052_SPI=n +CONFIG_MFD_DA9052_I2C=n +CONFIG_MFD_DA9055=n +CONFIG_MFD_DA9062=n +CONFIG_MFD_DA9063=n +CONFIG_MFD_DA9150=n +CONFIG_MFD_DLN2=n +CONFIG_MFD_MC13XXX_SPI=n +CONFIG_MFD_MC13XXX_I2C=n +CONFIG_MFD_HI6421_PMIC=n +CONFIG_HTC_EGPIO=n +CONFIG_HTC_PASIC3=n +CONFIG_HTC_I2CPLD=n +CONFIG_LPC_ICH=n +CONFIG_LPC_SCH=n +CONFIG_INTEL_SOC_PMIC=n +CONFIG_MFD_JANZ_CMODIO=n +CONFIG_MFD_KEMPLD=n +CONFIG_MFD_88PM800=n +CONFIG_MFD_88PM805=n +CONFIG_MFD_88PM860X=n +CONFIG_MFD_MAX14577=n +CONFIG_MFD_MAX77686=n +CONFIG_MFD_MAX77693=n +CONFIG_MFD_MAX77843=n +CONFIG_MFD_MAX8907=n +CONFIG_MFD_MAX8925=n +CONFIG_MFD_MAX8997=n +CONFIG_MFD_MAX8998=n +CONFIG_MFD_MT6397=n +CONFIG_MFD_MENF21BMC=n +CONFIG_EZX_PCAP=n +CONFIG_MFD_VIPERBOARD=n +CONFIG_MFD_RETU=n +CONFIG_MFD_PCF50633=n +CONFIG_MFD_PM8XXX=n +CONFIG_MFD_PM8921_CORE=n +CONFIG_MFD_RDC321X=n +CONFIG_MFD_RTSX_PCI=n +CONFIG_MFD_RT5033=n +CONFIG_MFD_RTSX_USB=n +CONFIG_MFD_RC5T583=n +CONFIG_MFD_RK808=n +CONFIG_MFD_RN5T618=n +CONFIG_MFD_SEC_CORE=n +CONFIG_MFD_SI476X_CORE=n +CONFIG_MFD_SM501=n +CONFIG_MFD_SKY81452=n +CONFIG_MFD_SMSC=n +CONFIG_ABX500_CORE=n +CONFIG_AB3100_CORE=n +CONFIG_MFD_STMPE=n +CONFIG_STMPE_I2C=n +CONFIG_STMPE_SPI=n +CONFIG_MFD_SYSCON=y +CONFIG_MFD_TI_AM335X_TSCADC=m +CONFIG_MFD_LP3943=n +CONFIG_MFD_LP8788=n +CONFIG_MFD_OMAP_USB_HOST=y +CONFIG_MFD_PALMAS=y +CONFIG_TPS6105X=n +CONFIG_TPS65010=n +CONFIG_TPS6507X=n +CONFIG_MFD_TPS65086=n +CONFIG_MFD_TPS65090=y +CONFIG_MFD_TPS65217=y +CONFIG_MFD_TPS65218=y +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912_I2C=n +CONFIG_MFD_TPS65912_SPI=n +CONFIG_MFD_TPS80031=n +CONFIG_TWL4030_CORE=n +CONFIG_TWL4030_POWER=n +CONFIG_MFD_TWL4030_AUDIO=n +CONFIG_TWL6040_CORE=y +CONFIG_MFD_WL1273_CORE=n +CONFIG_MFD_LM3533=n +CONFIG_MFD_TI_LP873X=y +CONFIG_MFD_TI_LP87565=y +CONFIG_MFD_TC3589X=n +CONFIG_MFD_TMIO=n +CONFIG_MFD_T7L66XB=n +CONFIG_MFD_TC6387XB=n +CONFIG_MFD_TC6393XB=n +CONFIG_MFD_VX855=n +CONFIG_MFD_ARIZONA_I2C=n +CONFIG_MFD_ARIZONA_SPI=n +CONFIG_MFD_WM8400=n +CONFIG_MFD_WM831X_I2C=n +CONFIG_MFD_WM831X_SPI=n +CONFIG_MFD_WM8350_I2C=n +CONFIG_MFD_WM8994=n +CONFIG_MFD_VEXPRESS_SYSREG=n + +# Regulators +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_DEBUG=n +CONFIG_REGULATOR_VIRTUAL_CONSUMER=n +CONFIG_REGULATOR_USERSPACE_CONSUMER=n +CONFIG_REGULATOR_ACT8865=n +CONFIG_REGULATOR_AD5398=n +CONFIG_REGULATOR_ANATOP=n +CONFIG_REGULATOR_AS3711=n +CONFIG_REGULATOR_AS3722=n +CONFIG_REGULATOR_AXP20X=n +CONFIG_REGULATOR_BCM590XX=n +CONFIG_REGULATOR_DA9210=n +CONFIG_REGULATOR_DA9211=n +CONFIG_REGULATOR_FAN53555=n +CONFIG_REGULATOR_GPIO=y +CONFIG_REGULATOR_ISL9305=n +CONFIG_REGULATOR_ISL6271A=n +CONFIG_REGULATOR_LP3971=n +CONFIG_REGULATOR_LP3972=n +CONFIG_REGULATOR_LP872X=n +CONFIG_REGULATOR_LP8755=n +CONFIG_REGULATOR_LP873X=y +CONFIG_REGULATOR_LP87565=y +CONFIG_REGULATOR_LTC3589=n +CONFIG_REGULATOR_MAX14577=n +CONFIG_REGULATOR_MAX1586=n +CONFIG_REGULATOR_MAX8649=n +CONFIG_REGULATOR_MAX8660=n +CONFIG_REGULATOR_MAX8907=n +CONFIG_REGULATOR_MAX8952=n +CONFIG_REGULATOR_MAX8973=n +CONFIG_REGULATOR_MAX77686=n +CONFIG_REGULATOR_MAX77693=n +CONFIG_REGULATOR_MAX77802=n +CONFIG_REGULATOR_MT6311=n +CONFIG_REGULATOR_PALMAS=y +CONFIG_REGULATOR_PBIAS=y +CONFIG_REGULATOR_PFUZE100=n +CONFIG_REGULATOR_PWM=n +CONFIG_REGULATOR_RK808=n +CONFIG_REGULATOR_S2MPA01=n +CONFIG_REGULATOR_S2MPS11=n +CONFIG_REGULATOR_S5M8767=n +CONFIG_REGULATOR_TI_ABB=y +CONFIG_REGULATOR_TPS51632=n +CONFIG_REGULATOR_TPS62360=y +CONFIG_REGULATOR_TPS65023=y +CONFIG_REGULATOR_TPS6507X=y +CONFIG_REGULATOR_TPS65090=y +CONFIG_REGULATOR_TPS65217=y +CONFIG_REGULATOR_TPS65218=y +CONFIG_REGULATOR_TPS6524X=y +CONFIG_REGULATOR_TPS6586X=y +CONFIG_REGULATOR_TPS65910=y +CONFIG_REGULATOR_TWL4030=n +CONFIG_REGULATOR_VEXPRESS=n + +# Crypto Modules +CONFIG_CRYPTO_DEV_OMAP=m +CONFIG_CRYPTO_DEV_OMAP_SHAM=m +CONFIG_CRYPTO_DEV_OMAP_AES=m +CONFIG_CRYPTO_DEV_OMAP_DES=m +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_SKCIPHER=m +CONFIG_CRYPTO_SHA1_ARM_NEON=m +CONFIG_CRYPTO_SHA256_ARM=m +CONFIG_CRYPTO_SHA512_ARM=m +CONFIG_CRYPTO_AES_ARM_BS=m + +# +# RTC drivers +# +CONFIG_RTC_DRV_ABB5ZES3=n +CONFIG_RTC_DRV_ABX80X=n +CONFIG_RTC_DRV_DS1307=m +CONFIG_RTC_DRV_DS1374=n +CONFIG_RTC_DRV_DS1672=n +CONFIG_RTC_DRV_DS3232=n +CONFIG_RTC_DRV_HYM8563=n +CONFIG_RTC_DRV_MAX6900=n +CONFIG_RTC_DRV_RS5C372=n +CONFIG_RTC_DRV_ISL1208=n +CONFIG_RTC_DRV_ISL12022=n +CONFIG_RTC_DRV_ISL12057=n +CONFIG_RTC_DRV_X1205=n +CONFIG_RTC_DRV_PALMAS=m +CONFIG_RTC_DRV_PCF2127=n +CONFIG_RTC_DRV_PCF8523=n +CONFIG_RTC_DRV_PCF8563=n +CONFIG_RTC_DRV_PCF85063=n +CONFIG_RTC_DRV_PCF8583=n +CONFIG_RTC_DRV_M41T80=n +CONFIG_RTC_DRV_BQ32K=n +CONFIG_RTC_DRV_TPS6586X=m +CONFIG_RTC_DRV_TPS65910=m +CONFIG_RTC_DRV_TWL92330=y +CONFIG_RTC_DRV_TWL4030=n +CONFIG_RTC_DRV_S35390A=n +CONFIG_RTC_DRV_FM3130=n +CONFIG_RTC_DRV_RX8581=n +CONFIG_RTC_DRV_RX8025=n +CONFIG_RTC_DRV_EM3027=n +CONFIG_RTC_DRV_RV3029C2=n +CONFIG_RTC_DRV_RV8803=n + +CONFIG_RTC_DRV_M41T93=n +CONFIG_RTC_DRV_M41T94=n +CONFIG_RTC_DRV_DS1305=n +CONFIG_RTC_DRV_DS1343=n +CONFIG_RTC_DRV_DS1347=n +CONFIG_RTC_DRV_DS1390=n +CONFIG_RTC_DRV_MAX6902=n +CONFIG_RTC_DRV_R9701=n +CONFIG_RTC_DRV_RS5C348=n +CONFIG_RTC_DRV_DS3234=n +CONFIG_RTC_DRV_PCF2123=n +CONFIG_RTC_DRV_RX4581=n +CONFIG_RTC_DRV_MCP795=n + +CONFIG_RTC_DRV_CMOS=n +CONFIG_RTC_DRV_DS1286=n +CONFIG_RTC_DRV_DS1511=n +CONFIG_RTC_DRV_DS1553=n +CONFIG_RTC_DRV_DS1685_FAMILY=n +CONFIG_RTC_DRV_DS1742=n +CONFIG_RTC_DRV_DS2404=n +CONFIG_RTC_DRV_STK17TA8=n +CONFIG_RTC_DRV_M48T86=n +CONFIG_RTC_DRV_M48T35=n +CONFIG_RTC_DRV_M48T59=n +CONFIG_RTC_DRV_MSM6242=n +CONFIG_RTC_DRV_BQ4802=n +CONFIG_RTC_DRV_RP5C01=n +CONFIG_RTC_DRV_V3020=n +CONFIG_RTC_DRV_ZYNQMP=n + +CONFIG_RTC_DRV_OMAP=m +CONFIG_RTC_DRV_SNVS=n + +CONFIG_RTC_DRV_HID_SENSOR_TIME=n + +# WatchDog +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=n + +# Watchdog Device Drivers +CONFIG_SOFT_WATCHDOG=n +CONFIG_GPIO_WATCHDOG=n +CONFIG_XILINX_WATCHDOG=n +CONFIG_CADENCE_WATCHDOG=n +CONFIG_DW_WATCHDOG=n +CONFIG_OMAP_WATCHDOG=m +CONFIG_TWL4030_WATCHDOG=m +CONFIG_MAX63XX_WATCHDOG=n +CONFIG_ALIM7101_WDT=n +CONFIG_I6300ESB_WDT=n +CONFIG_BCM7038_WDT=n +CONFIG_MEN_A21_WDT=n + +# No Staging drivers please +CONFIG_STAGING=n + +# GPIO +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_DEBUG_GPIO=y +CONFIG_GPIO_DAVINCI=y + +# GPIO disable unused options +CONFIG_GPIO_DWAPB=n +CONFIG_GPIO_EM=n +CONFIG_GPIO_GENERIC_PLATFORM=n +CONFIG_GPIO_XILINX=n +CONFIG_GPIO_TPS6586X=n + +# Enable options to facilitate testing +CONFIG_CRYPTO_TEST=m +CONFIG_RTC_DEBUG=y +CONFIG_THERMAL_EMULATION=y + +# OPTEE Driver +CONFIG_TEE=y +CONFIG_OPTEE=y + +#K3 Thermal +CONFIG_K3_THERMAL=y diff --git a/ti_config_fragments/connectivity.cfg b/ti_config_fragments/connectivity.cfg new file mode 100644 index 000000000000..c5248b20faeb --- /dev/null +++ b/ti_config_fragments/connectivity.cfg @@ -0,0 +1,435 @@ +################################################## +# TI Connectivity Configs +################################################## + +# Disable unused I2C options +CONFIG_I2C_MUX=n +CONFIG_I2C_DESIGNWARE_PLATFORM=n +CONFIG_I2C_GPIO=n +CONFIG_I2C_RK3X=n +CONFIG_I2C_XILINX=n + +# I2C controllers +CONFIG_I2C=y +CONFIG_I2C_OMAP=y + +# I2C GPIO expanders +CONFIG_GPIO_PCA953X=y +CONFIG_GPIO_PCA953X_IRQ=y +CONFIG_GPIO_PCF857X=y +CONFIG_GPIO_TPIC2810=m + +#I2C EEPROMS +CONFIG_EEPROM_AT24=m + +#Networking drivers +CONFIG_NET_VENDOR_TI=y +CONFIG_KEYSTONE_NAVIGATOR_QMSS=y +CONFIG_KEYSTONE_NAVIGATOR_DMA=y +CONFIG_TI_KEYSTONE_NETCP=y +CONFIG_TI_KEYSTONE_NETCP_ETHSS=y +CONFIG_TI_DAVINCI_EMAC=y +CONFIG_TI_DAVINCI_MDIO=y +CONFIG_TI_DAVINCI_CPDMA=y +CONFIG_TI_CPSW_PHY_SEL=y +CONFIG_TI_CPSW_ALE=y +CONFIG_TI_CPSW=y +CONFIG_TI_CPTS=y +CONFIG_TI_PRUETH=m +CONFIG_TI_ICSSG_PRUETH=m +# non-TI Net vendors +CONFIG_NET_DSA_BCM_SF2=n +CONFIG_B53=n +CONFIG_SYSTEMPORT=n +CONFIG_NET_VENDOR_3COM=n +CONFIG_NET_VENDOR_ADAPTEC=n +CONFIG_NET_VENDOR_AGERE=n +CONFIG_NET_VENDOR_ALTEON=n +CONFIG_NET_VENDOR_AMAZON=n +CONFIG_NET_VENDOR_AMD=n +CONFIG_NET_VENDOR_ARC=n +CONFIG_NET_VENDOR_ATHEROS=n +CONFIG_NET_VENDOR_BROCADE=n +CONFIG_NET_VENDOR_CAVIUM=n +CONFIG_NET_VENDOR_CHELSIO=n +CONFIG_BCMGENET=n +CONFIG_NET_VENDOR_CIRRUS=n +CONFIG_NET_VENDOR_CISCO=n +CONFIG_NET_VENDOR_DEC=n +CONFIG_NET_VENDOR_DLINK=n +CONFIG_NET_VENDOR_EMULEX=n +CONFIG_NET_VENDOR_EZCHIP=n +CONFIG_NET_VENDOR_FARADAY=n +CONFIG_NET_VENDOR_HISILICON=n +CONFIG_NET_VENDOR_HP=n +CONFIG_IGB=n +CONFIG_NET_VENDOR_I825XX=n +CONFIG_NET_VENDOR_MELLANOX=n +CONFIG_NET_VENDOR_MICROCHIP=n +CONFIG_NET_VENDOR_MYRI=n +CONFIG_NET_VENDOR_NATSEMI=n +CONFIG_NET_VENDOR_NETRONOME=n +CONFIG_NET_VENDOR_NVIDIA=n +CONFIG_NET_VENDOR_OKI=n +CONFIG_NET_VENDOR_8390=n +CONFIG_NET_VENDOR_QLOGIC=n +CONFIG_NET_VENDOR_QUALCOMM=n +CONFIG_NET_VENDOR_REALTEK=n +CONFIG_NET_VENDOR_RENESAS=n +CONFIG_NET_VENDOR_RDC=n +CONFIG_NET_VENDOR_ROCKER=n +CONFIG_NET_VENDOR_SAMSUNG=n +CONFIG_NET_VENDOR_SILAN=n +CONFIG_NET_VENDOR_SIS=n +CONFIG_NET_VENDOR_SEEQ=n +CONFIG_NET_VENDOR_STMICRO=n +CONFIG_NET_VENDOR_SUN=n +CONFIG_NET_VENDOR_SYNOPSYS=n +CONFIG_NET_VENDOR_TEHUTI=n +CONFIG_NET_VENDOR_VIA=n +CONFIG_NET_VENDOR_WIZNET=n +#Wireless LAN +CONFIG_WLCORE=m +CONFIG_WLCORE_SDIO=m +CONFIG_WL18XX=m +CONFIG_NL80211_TESTMODE=y + +#MDIO phys +CONFIG_MARVELL_PHY=y +CONFIG_MICREL_PHY=y +# unused PHY drivers +CONFIG_BROADCOM_PHY=n +CONFIG_ICPLUS_PHY=n +#PRU MII PHYs for Industrial Boards +CONFIG_DP83848_PHY=y +# Enable phy for DRA72 evm +CONFIG_DP83867_PHY=y + +#MTD +CONFIG_OMAP_GPMC=y +CONFIG_MTD_NAND_OMAP2=y +CONFIG_MTD_NAND_OMAP_BCH=y +CONFIG_MTD_NAND_OMAP_BCH_BUILD=y +CONFIG_MTD_TESTS=m +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_UBI=y + +#PCIE +CONFIG_SOCIONEXT_SYNQUACER_PREITS=y +CONFIG_PCI=y +CONFIG_PCI_MSI=y +CONFIG_PCI_ENDPOINT=y +CONFIG_PCI_ENDPOINT_CONFIGFS=y +CONFIG_PCI_EPF_TEST=y +CONFIG_PCI_ENDPOINT_TEST=m +CONFIG_PCI_DRA7XX=y +CONFIG_PCI_DRA7XX_HOST=y +CONFIG_PCI_DRA7XX_EP=y +CONFIG_PCI_KEYSTONE=y +CONFIG_PCI_KEYSTONE_EP=y +#These drivers have been used with DRA7x/AM57x PCIe RC with some success +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_NET_VENDOR_INTEL=y +CONFIG_TIGON3=m +CONFIG_SKGE=m +CONFIG_E1000=m +CONFIG_E1000E=m +CONFIG_IWLWIFI=m +CONFIG_IWLDVM=m +CONFIG_IWLMVM=m +CONFIG_B43=m +#Generic Phys +CONFIG_PHY_TI_KEYSTONE_SERDES=y +CONFIG_PHY_AM654_SERDES=y + +# Networking +CONFIG_NF_CONNTRACK=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_NAT=m +CONFIG_NF_NAT_IPV4=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_BRIDGE=m +CONFIG_XFRM_USER=m +CONFIG_NET_KEY=m +CONFIG_INET=y +CONFIG_INET_AH=m +CONFIG_INET6_AH=m +CONFIG_INET6_IPCOMP=m +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET6_TUNNEL=m +CONFIG_INET_ESP=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_XFRM_MODE_TRANSPORT=m +CONFIG_INET_XFRM_MODE_TUNNEL=m +CONFIG_INET_XFRM_MODE_BEET=m +CONFIG_IPV6_TUNNEL=m +CONFIG_NETFILTER=y +CONFIG_NETFILTER_XTABLES=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CPU=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_SCTP=m +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BRIDGE_EBT_BROUTE=m +CONFIG_BRIDGE_EBT_T_FILTER=m +CONFIG_BRIDGE_EBT_T_NAT=m +CONFIG_BRIDGE_EBT_802_3=m +CONFIG_BRIDGE_EBT_AMONG=m +CONFIG_BRIDGE_EBT_ARP=m +CONFIG_BRIDGE_EBT_IP=m +CONFIG_BRIDGE_EBT_IP6=m +CONFIG_BRIDGE_EBT_LIMIT=m +CONFIG_BRIDGE_EBT_MARK=m +CONFIG_BRIDGE_EBT_PKTTYPE=m +CONFIG_BRIDGE_EBT_STP=m +CONFIG_BRIDGE_EBT_VLAN=m +CONFIG_BRIDGE_EBT_ARPREPLY=m +CONFIG_BRIDGE_EBT_DNAT=m +CONFIG_BRIDGE_EBT_MARK_T=m +CONFIG_BRIDGE_EBT_REDIRECT=m +CONFIG_BRIDGE_EBT_SNAT=m +CONFIG_BRIDGE_EBT_LOG=m +CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFB=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_DSMARK=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_DRR=m +CONFIG_NET_SCH_MQPRIO=m +CONFIG_NET_SCH_CHOKE=m +CONFIG_NET_SCH_QFQ=m +CONFIG_NET_SCH_CODEL=m +CONFIG_NET_SCH_FQ_CODEL=m +CONFIG_NET_SCH_INGRESS=m +CONFIG_NET_CLS=y +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_TCINDEX=m +CONFIG_NET_CLS_ROUTE4=m +CONFIG_NET_CLS_FW=m +CONFIG_NET_CLS_U32=m +CONFIG_CLS_U32_MARK=y +CONFIG_NET_CLS_RSVP=m +CONFIG_NET_CLS_RSVP6=m +CONFIG_NET_CLS_FLOW=m +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_STACK=32 +CONFIG_NET_EMATCH_CMP=m +CONFIG_NET_EMATCH_NBYTE=m +CONFIG_NET_EMATCH_U32=m +CONFIG_NET_EMATCH_META=m +CONFIG_NET_EMATCH_TEXT=m +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_POLICE=m +CONFIG_NET_ACT_GACT=m +CONFIG_GACT_PROB=y +CONFIG_NET_ACT_MIRRED=m +CONFIG_NET_ACT_IPT=m +CONFIG_NET_ACT_NAT=m +CONFIG_NET_ACT_PEDIT=m +CONFIG_NET_ACT_SIMP=m +CONFIG_NET_ACT_SKBEDIT=m +CONFIG_NET_ACT_CSUM=m +CONFIG_NET_CLS_IND=y +CONFIG_NET_SCH_FIFO=y +CONFIG_IP_SCTP=m +CONFIG_VLAN_8021Q=m +CONFIG_IP_MULTICAST=y + +# Ethernet drivers +CONFIG_TI_K3_UDMA_DESC_POOL=y +CONFIG_TI_AM65_CPSW_NUSS=y +CONFIG_TI_AM65_CPTS=y + +#MMC/SD support +CONFIG_MMC=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_OMAP_HS=y +CONFIG_MMC_SDHCI_OMAP=y +CONFIG_MMC_DW=n +CONFIG_MMC_SDHCI_AM654=y + +#SPI +CONFIG_SPI_CADENCE_QUADSPI=y +CONFIG_SPI_TI_QSPI=y +CONFIG_SPI_OMAP24XX=y +#Disable unused SPI controllers +CONFIG_SPI_BITBANG=n +CONFIG_SPI_CADENCE=n +CONFIG_SPI_ROCKCHIP=n +CONFIG_SPI_XILINX=n +CONFIG_SPI_SPIDEV=n + +#Disable SPI NOR 4K SECTORS +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=n + +#SPI GPIO expanders +CONFIG_GPIO_PISOSR=m + +#SATA +CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_SATA_AHCI=m +CONFIG_ATA=m + +#USB PHY +CONFIG_OMAP_USB2=m + +#USB gadgets +CONFIG_USB_GADGET=m +CONFIG_USB_AUDIO=m +CONFIG_USB_ETH=m +CONFIG_USB_G_NCM=m +CONFIG_USB_GADGETFS=m +CONFIG_USB_FUNCTIONFS=m +CONFIG_USB_FUNCTIONFS_ETH=y +CONFIG_USB_FUNCTIONFS_RNDIS=y +CONFIG_USB_FUNCTIONFS_GENERIC=y +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_G_SERIAL=m +CONFIG_USB_MIDI_GADGET=m +CONFIG_USB_G_PRINTER=m +CONFIG_USB_CDC_COMPOSITE=m +CONFIG_USB_G_ACM_MS=m +CONFIG_USB_G_MULTI=m +CONFIG_USB_G_MULTI_CDC=y +CONFIG_USB_G_HID=m +CONFIG_USB_G_DBGP=m +CONFIG_USB_G_WEBCAM=m +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=32 +CONFIG_USB_ZERO=m +CONFIG_USB_CONFIGFS=m +CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONFIGFS_ACM=y +CONFIG_USB_CONFIGFS_OBEX=y +CONFIG_USB_CONFIGFS_NCM=y +CONFIG_USB_CONFIGFS_ECM=y +CONFIG_USB_CONFIGFS_ECM_SUBSET=y +CONFIG_USB_CONFIGFS_RNDIS=y +CONFIG_USB_CONFIGFS_EEM=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +CONFIG_USB_CONFIGFS_F_LB_SS=y +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_F_UAC1=y +CONFIG_USB_CONFIGFS_F_UAC2=y +CONFIG_USB_CONFIGFS_F_MIDI=y +CONFIG_USB_CONFIGFS_F_HID=y +CONFIG_USB_CONFIGFS_F_UVC=y +CONFIG_USB_CONFIGFS_F_PRINTER=y + +# USB DWC3 +CONFIG_USB_DWC3=m +CONFIG_USB_DWC3_DUAL_ROLE=y +CONFIG_USB_DWC3_OMAP=m +CONFIG_USB_DWC3_KEYSTONE=m +CONFIG_USB_DWC3_PCI=n +CONFIG_USB_DWC2=n +CONFIG_USB_CHIPIDEA=n + +#USB PHY +CONFIG_NOP_USB_XCEIV=m + +#USB MUSB +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MUSB_DUAL_ROLE=y +CONFIG_USB_MUSB_OMAP2PLUS=m +CONFIG_USB_MUSB_AM35X=m +CONFIG_USB_MUSB_DSPS=m +CONFIG_USB_MUSB_AM335X_CHILD=m +CONFIG_TI_CPPI41=y +CONFIG_USB_TI_CPPI41_DMA=y +CONFIG_AM335X_CONTROL_USB=y +CONFIG_AM335X_PHY_USB=y + +#USB EHCI +CONFIG_USB=m +CONFIG_USB_EHCI_HCD=m +CONFIG_USB_EHCI_PCI=m +CONFIG_USB_EHCI_HCD_OMAP=m + +#USB Networking +CONFIG_USB_USBNET=m +CONFIG_USB_NET_DRIVERS=m +CONFIG_USB_NET_SMSC95XX=m + +#USB testing +CONFIG_USB_TEST=m +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y + +#USB Serial +CONFIG_USB_ACM=m +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_OPTION=m + +# Extcon drivers +CONFIG_EXTCON=m +CONFIG_EXTCON_PALMAS=m +CONFIG_EXTCON_USB_GPIO=m + +# PWM +CONFIG_PWM_TIECAP=y +CONFIG_PWM_TIEHRPWM=y +CONFIG_PWM_TIPWMSS=y + +# 1-wire Bus Masters +CONFIG_W1=m +CONFIG_HDQ_MASTER_OMAP=m + +# Matrix keypad +CONFIG_KEYBOARD_MATRIX=m + +#Touchscreen/ADC +CONFIG_TOUCHSCREEN_PIXCIR=m +CONFIG_MFD_TI_AM335X_TSCADC=m +CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m +CONFIG_TI_AM335X_ADC=m + +#CAN +CONFIG_CAN=m +CONFIG_CAN_C_CAN=m +CONFIG_CAN_C_CAN_PLATFORM=m +CONFIG_CAN_M_CAN=m + +# Rotary Encoder +CONFIG_INPUT_GPIO_DECODER=m + +# Filesystem extra options +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_CIFS=m +CONFIG_CIFS_STATS=y +CONFIG_CIFS_XATTR=y +CONFIG_CIFS_POSIX=y +CONFIG_CIFS_ACL=y +CONFIG_UBIFS_FS=y + +# HD-Audio +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=m diff --git a/ti_config_fragments/debug_ftrace.cfg b/ti_config_fragments/debug_ftrace.cfg new file mode 100644 index 000000000000..87b959c11e6f --- /dev/null +++ b/ti_config_fragments/debug_ftrace.cfg @@ -0,0 +1,14 @@ +################################################## +# Debug FTRACE options +################################################## + +CONFIG_FTRACE=y +CONFIG_DYNAMIC_FTRACE=y + +CONFIG_PREEMPT_TRACER=y +CONFIG_IRQSOFF_TRACER=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_PROFILER=y +CONFIG_PREEMPT_TRACER=y +CONFIG_SCHED_TRACER=y +CONFIG_STACK_TRACER=y diff --git a/ti_config_fragments/debug_options.cfg b/ti_config_fragments/debug_options.cfg new file mode 100644 index 000000000000..c48c3d61cb61 --- /dev/null +++ b/ti_config_fragments/debug_options.cfg @@ -0,0 +1,94 @@ +################################################## +# Common Debug options considered generically +# useful for kernel debug. This is not meant to +# be an exhaustive list of options and will probably +# have performance impact by using the same. +# +# IMPORTANT NOTE: Do not collect reference performance +# data with this configuration. +################################################## + +CONFIG_DYNAMIC_DEBUG=y + +CONFIG_DEBUG_PAGEALLOC=y +CONFIG_WANT_PAGE_DEBUG_FLAGS=y +CONFIG_PAGE_POISONING=y +CONFIG_DEBUG_OBJECTS=y +CONFIG_DEBUG_OBJECTS_SELFTEST=n +CONFIG_DEBUG_OBJECTS_FREE=n +CONFIG_DEBUG_OBJECTS_TIMERS=n +CONFIG_DEBUG_OBJECTS_WORK=n +CONFIG_DEBUG_OBJECTS_RCU_HEAD=y +CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=n +CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 +CONFIG_DEBUG_SLAB=y +CONFIG_DEBUG_SLAB_LEAK=y +CONFIG_SLUB_DEBUG=y + +CONFIG_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=8000 +CONFIG_DEBUG_KMEMLEAK_TEST=n +CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=n +CONFIG_DEBUG_INFO=y + +CONFIG_DEBUG_SHIRQ=n +CONFIG_DEBUG_PREEMPT=y + +CONFIG_LOCKUP_DETECTOR=y +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1 +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=300 +CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1 +CONFIG_PANIC_ON_OOPS=y +CONFIG_PANIC_ON_OOPS_VALUE=1 + +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_PI_LIST=y +CONFIG_RT_MUTEX_TESTER=n +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y +CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y +CONFIG_DEBUG_LOCK_ALLOC=y +CONFIG_PROVE_LOCKING=y +CONFIG_LOCKDEP=y +CONFIG_LOCK_STAT=n +CONFIG_DEBUG_LOCKDEP=y +CONFIG_DEBUG_ATOMIC_SLEEP=y +CONFIG_DEBUG_LOCKING_API_SELFTESTS=n +CONFIG_STACKTRACE=y +CONFIG_DEBUG_KOBJECT=n +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_WRITECOUNT=n +CONFIG_DEBUG_LIST=y +CONFIG_DEBUG_SG=y +CONFIG_DEBUG_NOTIFIERS=y +CONFIG_DEBUG_CREDENTIALS=n + +CONFIG_SPARSE_RCU_POINTER=y +CONFIG_RCU_TORTURE_TEST=n +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +CONFIG_RCU_CPU_STALL_INFO=y +CONFIG_RCU_TRACE=y +CONFIG_PROVE_RCU=y +CONFIG_PROVE_RCU_REPEATEDLY=y + +CONFIG_DMA_API_DEBUG=y + +CONFIG_ARM_PTDUMP=y +CONFIG_ARM_UNWIND=y +CONFIG_DEBUG_USER=y + +# Cgroups debug +CONFIG_CGROUP_DEBUG=y +CONFIG_DEBUG_BLK_CGROUP=y + +# IRQ Domain debug +CONFIG_IRQ_DOMAIN_DEBUG=y + +# Debug HighMem +CONFIG_DEBUG_HIGHMEM=y + +# Crypto self-tests +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=n diff --git a/ti_config_fragments/defconfig_builder.sh b/ti_config_fragments/defconfig_builder.sh new file mode 100755 index 000000000000..0a616ab1b031 --- /dev/null +++ b/ti_config_fragments/defconfig_builder.sh @@ -0,0 +1,479 @@ +#!/bin/bash +# +# defconfig_builder.sh +# +# Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/ +# ALL RIGHTS RESERVED +# +# This script will perform a merge of config fragment files into a defconfig +# based on a map file. The map file defines the defconfig options that have +# been tested by TI to boot and compile. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# For more information type defconfig_builder.sh -? +# +# IMPORTANT NOTE: All modifications to this script must be verified by running +# 'shellcheck --shell=bash defconfig_builder.sh' See 'Installing' section in: +# https://github.com/koalaman/shellcheck/blob/master/README.md +# Also note that shellcheck must be at least at revision 0.3.3 + +DEBUG_CONFIG_TAG="debug_options" +CONFIG_FRAGMENT_TAG="config-fragment=" +DISCLAIMER="\n*Please be advised that the Debug Option defconfigs may\nimpact \ +performance and should only be used for debugging.\n" + +# Template for temporary build files.. use PID to differentiate +TMP_PREFIX=ti_defconfig_builder_$$ +TMP_TEMPLATE="$TMP_PREFIX"_XXXXX.tmp + +set_working_directory() { + # Sanity checkup kernel build location. + if [ ! -d "$WORKING_PATH" ]; then + WORKING_PATH=$(pwd) + fi + + ORIGINAL_DIR=$(pwd) + if [ "$ORIGINAL_DIR" != "$WORKING_PATH" ]; then + cd "$WORKING_PATH" + WORKING_PATH=$(pwd) + fi + + SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + TI_WORKING_PATH=$SCRIPT_DIR + WORKING_PATH=$(cd "$SCRIPT_DIR""/.." && pwd) +} + +prepare_for_exit() { + D=$(dirname "$PROCESSOR_FILE") + rm -f "$PROCESSOR_FILE" + rm -f "$BUILD_TYPE_FILE" + rm -f "$TEMP_TYPE_FILE" + if [ -s "$OLD_CONFIG" ]; then + mv "$OLD_CONFIG" "$WORKING_PATH"/.config + fi + # Clean everyone else up if we missed any + rm -f "$D"/"$TMP_PREFIX"*.tmp + exit +} + +check_for_config_existance() { + # Check to make sure that the config fragments exist + TEMP_EXTRA_CONFIG_FILE=$(echo "$BUILD_DETAILS" | cut -d: -f6) + if [ -z "$TEMP_EXTRA_CONFIG_FILE" ]; then + CONFIG_FRAGMENTS= + else + for CONFIG_FRAGMENT_FILE in $TEMP_EXTRA_CONFIG_FILE; + do + # If we do already point to existing file, we are good. + if [ -e "$CONFIG_FRAGMENT_FILE" ]; then + CONFIG_FRAG="$CONFIG_FRAGMENT_FILE" + else + # Assume it is present in TI working path + CONFIG_FRAG="$TI_WORKING_PATH/$CONFIG_FRAGMENT_FILE" + fi + if [ ! -e "$CONFIG_FRAG" ]; then + CONFIG_FRAGMENTS="N/A" + fi + done + fi + + if ! grep -qc "$BT_TEMP" "$BUILD_TYPE_FILE"; then + # If the config file and config fragments are available + # add it to the list. + CONFIG_FILE=$(echo "$BUILD_DETAILS" | awk '{print$8}') + if [ "$CONFIG_FILE" = "None" ]; then + CONFIG_FILE= + else + if [ -e "$TI_WORKING_PATH""/""$CONFIG_FILE" ]; then + CONFIG_FILE= + fi + fi + # If the check for the config file and the config fragments + # pass then these two variables should be empty. If + # they fail then they should be N/A. + if [ -z "$CONFIG_FILE" -a -z "$CONFIG_FRAGMENTS" ]; then + max_configs=$((max_configs+1)) + echo -e '\t'"$max_configs". "$BT_TEMP" >> "$BUILD_TYPE_FILE" + fi + fi +} + +choose_build_type() { + TEMP_BT_FILE=$(mktemp -t $TMP_TEMPLATE) + TEMP_BUILD_FILE=$(mktemp -t $TMP_TEMPLATE) + + grep "$DEFCONFIG_FILTER" "$DEFCONFIG_MAP_FILE" | grep "^classification:" | awk '{print$4}' > "$TEMP_BUILD_FILE" + + max_configs=0 + while true; + do + CONFIG_FILE= + CONFIG_FRAGMENTS= + + BT_TEMP=$(head -n 1 "$TEMP_BUILD_FILE") + if [ -z "$BT_TEMP" ]; then + break + fi + BUILD_DETAILS=$(grep -w "$BT_TEMP" "$DEFCONFIG_MAP_FILE") + check_for_config_existance + sed -i "1d" "$TEMP_BUILD_FILE" + done + + NUM_OF_BUILDS=$(wc -l "$BUILD_TYPE_FILE" | awk '{print$1}') + if [ "$NUM_OF_BUILDS" -eq 0 ]; then + echo "Sorry no build targets for this configuration. Are you on the right branch?" + prepare_for_exit + fi + + # Force the user to answer. Maybe the user does not want to continue + while true; + do + echo -e "Available ""$DEFCONFIG_FILTER"" defconfig build options:\n" + cat "$BUILD_TYPE_FILE" + echo "" + read -p "Please enter the number of the defconfig to build or 'q' to exit: " REPLY + + if [ "$REPLY" = "q" -o "$REPLY" = "Q" ]; then + prepare_for_exit + elif ! [[ "$REPLY" =~ ^[0-9]+$ ]]; then + echo -e "\n$REPLY is not a number of the defconfig. Please try again!\n" + continue + elif [ "$REPLY" -gt '0' -a "$REPLY" -le "$NUM_OF_BUILDS" ]; then + CHOSEN_BUILD_TYPE=$(grep -w "$REPLY" "$BUILD_TYPE_FILE" | awk '{print$2}') + break + else + echo -e "\n'$REPLY' is not a valid choice. Please \ +choose a value between '1' and '$max_configs':\n" + fi + done + rm "$TEMP_BT_FILE" + rm "$TEMP_BUILD_FILE" +} + +list_all_targets() { + + TMP_MAP=$(mktemp -t $TMP_TEMPLATE) + + count=0 + max_types=0 + while [ "x${SUPPORTED_ARCH[max_types]}" != "x" ] + do + DEFCONFIG_MAP_FILE=${SUPPORTED_ARCH[(count * 3) + 2]} + count=$(( $count + 1 )) + max_types=$(( $max_types + 3 )) + if [ ! -e "$DEFCONFIG_MAP_FILE" ]; then + continue + fi + + cat "$DEFCONFIG_MAP_FILE" > "$TMP_MAP" + while true; + do + CONFIG_FILE= + CONFIG_FRAGMENTS= + + BT_TEMP=$(head -n 1 "$TMP_MAP" | awk '{print$4}') + BUILD_DETAILS=$(head -n 1 "$TMP_MAP") + if [ -z "$BUILD_DETAILS" ]; then + break + fi + check_for_config_existance + sed -i "1d" "$TMP_MAP" + done + rm "$TMP_MAP" + done + cat "$BUILD_TYPE_FILE" +} + +get_build_details() { + + count=0 + max_types=0 + while [ "x${SUPPORTED_ARCH[max_types]}" != "x" ] + do + DEFCONFIG_MAP_FILE=${SUPPORTED_ARCH[(count * 3) + 2]} + if [ -e "$DEFCONFIG_MAP_FILE" ]; then + BUILD_DETAILS=$(grep -w "$CHOSEN_BUILD_TYPE" "$DEFCONFIG_MAP_FILE") + if [ ! -z "$BUILD_DETAILS" ]; then + DEFCONFIG_KERNEL_PATH=${SUPPORTED_ARCH[(count * 3) + 1]} + break + fi + fi + + count=$(( $count + 1 )) + max_types=$(( $max_types + 3 )) + done + + if [ -z "$BUILD_DETAILS" ]; then + echo "Cannot find the build type or a match for $CHOSEN_BUILD_TYPE" + TEMP_BUILD_FILE=$(mktemp -t $TMP_TEMPLATE) + grep "$CHOSEN_BUILD_TYPE" "$DEFCONFIG_MAP_FILE" > "$TEMP_BUILD_FILE" + while true; + do + CONFIG_FILE= + CONFIG_FRAGMENTS= + + BT_TEMP=$(head -n 1 "$TEMP_BUILD_FILE" | awk '{print$4}') + if [ -z "$BT_TEMP" ]; then + break + fi + BUILD_DETAILS=$(grep -w "$BT_TEMP" "$DEFCONFIG_MAP_FILE") + check_for_config_existance + sed -i "1d" "$TEMP_BUILD_FILE" + done + rm -rf "$TEMP_BUILD_FILE" + + NUM_OF_BUILDS=$(wc -l "$BUILD_TYPE_FILE" | awk '{print$1}') + if [ "$NUM_OF_BUILDS" -eq 0 ]; then + echo "Maybe try one of the following:" + list_all_targets + else + echo "Did you mean any of the following?" + cat "$BUILD_TYPE_FILE" + fi + + return 1 + fi + + DEFCONFIG=$(echo "$BUILD_DETAILS" | awk '{print$6}') + DEFCONFIG="$DEFCONFIG_KERNEL_PATH""/""$DEFCONFIG" + CONFIG_FILE=$(echo "$BUILD_DETAILS" | awk '{print$8}') + # There may be a need to just build with the config fragments themselves + if [ "$CONFIG_FILE" = "None" ]; then + CONFIG_FILE= + fi + + if [ ! -e "$TI_WORKING_PATH/$CONFIG_FILE" ]; then + echo "$TI_WORKING_PATH/$CONFIG_FILE does not exist" + return 1 + fi + + TEMP_EXTRA_CONFIG_FILE=$(echo "$BUILD_DETAILS" | cut -d: -f6) + for CONFIG_FRAGMENT_FILE in $TEMP_EXTRA_CONFIG_FILE; + do + # If we do already point to existing file, we are good. + if [ -e "$CONFIG_FRAGMENT_FILE" ]; then + CONFIG_FRAG="$CONFIG_FRAGMENT_FILE" + else + # Assume it is present in TI working path + CONFIG_FRAG="$TI_WORKING_PATH/$CONFIG_FRAGMENT_FILE" + fi + if [ -e "$CONFIG_FRAG" ]; then + EXTRA_CONFIG_FILE="$EXTRA_CONFIG_FILE $CONFIG_FRAG" + else + echo "$CONFIG_FRAG" does not exist + fi + done +} + +build_defconfig() { + + if [ ! -z "$CONFIG_FILE" -a -e "$TI_WORKING_PATH/$CONFIG_FILE" ]; then + CONFIGS=$(grep "$CONFIG_FRAGMENT_TAG" "$TI_WORKING_PATH/$CONFIG_FILE" | cut -d= -f2) + fi + + "$WORKING_PATH"/scripts/kconfig/merge_config.sh -m -r "$DEFCONFIG" \ + "$CONFIGS" "$EXTRA_CONFIG_FILE" > /dev/null + + if [ "$?" = "0" ];then + echo "Creating defconfig file ""$DEFCONFIG_KERNEL_PATH/""$CHOSEN_BUILD_TYPE"_defconfig + mv .config "$DEFCONFIG_KERNEL_PATH"/"$CHOSEN_BUILD_TYPE"_defconfig + else + echo "Defconfig creation failed" + return 1 + fi +} + +choose_defconfig_type() { + + TEMP_TYPE_FILE=$(mktemp -t $TMP_TEMPLATE) + + TYPE_FILE=$(awk '{print$2}' "$DEFCONFIG_MAP_FILE" | sort -u | grep -i "SDK_") + + max_types=0 + for TYPE_TMP in $TYPE_FILE; + do + max_types=$((max_types+1)) + echo -e '\t' "$max_types." "$TYPE_TMP" >> "$TEMP_TYPE_FILE" + done + echo >> "$TEMP_TYPE_FILE" + + while true; + do + cat "$TEMP_TYPE_FILE" + read -p "Please choose a defconfig type to build for or 'q' to exit: " REPLY + if [ "$REPLY" = "q" -o "$REPLY" = "Q" ]; then + prepare_for_exit + elif ! [[ "$REPLY" =~ ^[0-9]+$ ]]; then + echo -e "\n'$REPLY' is not a number for the build type. Please try again!\n" + continue + elif [ "$REPLY" -gt '0' -a "$REPLY" -le "$max_types" ]; then + REPLY="$REPLY""." + DEFCONFIG_FILTER=$(awk '{if ($1 == "'"$REPLY"'") print $2;}' "$TEMP_TYPE_FILE") + break + else + echo -e "\n'$REPLY' is not a valid choice. Please \ +choose a value between '1' and '$max_types':\n" + fi + done + + DEBUG_BUILD=$(grep "$DEFCONFIG_FILTER" "$DEFCONFIG_MAP_FILE" | grep -wc "$DEBUG_CONFIG_TAG" ) + if [ "$DEBUG_BUILD" -gt '0' ]; then + echo -e "$DISCLAIMER" + fi +} + +choose_architecture() { + + TEMP_ARCH_FILE=$(mktemp -t $TMP_TEMPLATE) + + max_types=0 + count=0 + while [ "x${SUPPORTED_ARCH[max_types]}" != "x" ] + do + ARCH_TYPE=${SUPPORTED_ARCH[max_types]} + if [ -e "${SUPPORTED_ARCH[max_types + 2]}" ]; then + count=$(( $count + 1 )) + echo -e '\t' "$count." "$ARCH_TYPE" >> "$TEMP_ARCH_FILE" + fi + max_types=$(( $max_types + 3 )) + done + + if [ "$count" -eq 1 ]; then + REPLY=$count + else + while true; + do + cat "$TEMP_ARCH_FILE" + read -p "Please choose an architecture to build for or 'q' to exit: " REPLY + if [ "$REPLY" = "q" -o "$REPLY" = "Q" ]; then + prepare_for_exit + elif ! [[ "$REPLY" =~ ^[0-9]+$ ]]; then + echo -e "\n'$REPLY' is not a number for the build type. Please try again!\n" + continue + elif [ "$REPLY" -gt '0' -a "$REPLY" -le "$max_types" ]; then + REPLY_DISP="$REPLY""." + ARCH_TO_BUILD=$(awk '{if ($1 == "'"$REPLY_DISP"'") print $2;}' "$TEMP_ARCH_FILE") + break + else + echo -e "\n'$REPLY' is not a valid choice. Please \ + choose a value between '1' and '$max_types':\n" + fi + done + fi + + max_types=0 + while [ "x${SUPPORTED_ARCH[max_types]}" != "x" ] + do + ARCH_TYPE=${SUPPORTED_ARCH[max_types]} + ARCH_COUNTER=$(grep -c "$ARCH_TO_BUILD" <<< $ARCH_TYPE) + if [ "$ARCH_COUNTER" -gt 0 ]; then + break + fi + max_types=$(( $max_types + 3 )) + done + + DEFCONFIG_KERNEL_PATH=${SUPPORTED_ARCH[max_types + 1]} + DEFCONFIG_MAP_FILE=${SUPPORTED_ARCH[max_types + 2]} +} + +usage() { +cat << EOF + +This script will perform a merge of config fragment files into a defconfig +based on a map file. The map file defines the defconfig options that have +been tested by TI to boot and compile. + +Optional: + -w - Location of the TI Linux kernel + -t - Indicates the type of defconfig to build. This will force the + defconfig to build without user interaction. + -l - List all buildable defconfig options + +Command line example to generate the TI SDK AM335x processor defconfig automatically +without user interaction: + + ti_config_fragments/defconfig_builder.sh -t ti_sdk_am3x_release + +Command line Example if building from the ti_config_fragments directory: + defconfig_builder.sh -w ../. + +User interactive command line example: + ti_config_fragments/defconfig_builder.sh +EOF +} + +######################################### +# Script Start +######################################### +while getopts "?w:t:l" OPTION +do + case $OPTION in + w) + WORKING_PATH=$OPTARG;; + t) + CHOSEN_BUILD_TYPE=$OPTARG;; + l) + LIST_TARGETS="y";; + ?) + usage + exit;; + esac +done + +trap prepare_for_exit SIGHUP EXIT SIGINT SIGTERM + +set_working_directory + +SUPPORTED_ARCH=( +"v7 ARM Architecture" "$WORKING_PATH/arch/arm/configs" "$TI_WORKING_PATH/defconfig_map.txt" +"v8 ARM Architecture" "$WORKING_PATH/arch/arm64/configs" "$TI_WORKING_PATH/v8_defconfig_map.txt") + +BUILD_TYPE_FILE=$(mktemp -t $TMP_TEMPLATE) + +if [ ! -z "$LIST_TARGETS" ]; then + echo "The following are a list of buildable defconfigs:" + list_all_targets + exit 0 +fi + + +PROCESSOR_FILE=$(mktemp -t $TMP_TEMPLATE) +OLD_CONFIG=$(mktemp -t $TMP_TEMPLATE) +if [ -f "$WORKING_PATH"/.config ]; then + mv "$WORKING_PATH"/.config "$OLD_CONFIG" +fi + +if [ ! -z "$CHOSEN_BUILD_TYPE" ]; then + get_build_details + if [ "$?" -gt 0 ]; then + exit 1 + fi + + build_defconfig + if [ "$?" -gt 0 ]; then + exit 1 + fi + exit 0 +fi + +choose_architecture + +if [ ! -e "$DEFCONFIG_MAP_FILE" ]; then + echo "No defconfig map file found" + exit 1 +fi + +choose_defconfig_type + +choose_build_type +get_build_details + +build_defconfig diff --git a/ti_config_fragments/defconfig_map.txt b/ti_config_fragments/defconfig_map.txt new file mode 100644 index 000000000000..5a1f20f8ea4c --- /dev/null +++ b/ti_config_fragments/defconfig_map.txt @@ -0,0 +1,34 @@ +# Release Defconfigs +classification: SDK_Release_Defconfigs type: ti_sdk_am3x_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg omap_soc.cfg am33xx_only.cfg systemd.cfg +classification: SDK_Release_Defconfigs type: ti_sdk_am4x_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg omap_soc.cfg am43xx_only.cfg systemd.cfg +classification: SDK_Release_Defconfigs type: ti_sdk_dra7x_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg omap_soc.cfg lpae.cfg dra7_only.cfg systemd.cfg +classification: SDK_Release_Defconfigs type: ti_sdk_omap2_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg omap_soc.cfg systemd.cfg +classification: SDK_Release_Defconfigs type: ti_sdk_k2g_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg keystone.cfg lpae.cfg k2g_only.cfg systemd.cfg +classification: SDK_Release_Defconfigs type: ti_sdk_keystone_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg keystone.cfg lpae.cfg systemd.cfg +classification: SDK_Release_Defconfigs type: ti_sdk_omapl138_release defconfig: davinci_all_defconfig config_file: None extra_configs: baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg systemd.cfg +# Debug Defconfigs +classification: SDK_Debug_Defconfigs type: ti_sdk_am3x_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg omap_soc.cfg am33xx_only.cfg systemd.cfg debug_options.cfg +classification: SDK_Debug_Defconfigs type: ti_sdk_am4x_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg omap_soc.cfg am43xx_only.cfg systemd.cfg debug_options.cfg +classification: SDK_Debug_Defconfigs type: ti_sdk_dra7x_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg omap_soc.cfg lpae.cfg dra7_only.cfg systemd.cfg debug_options.cfg +classification: SDK_Debug_Defconfigs type: ti_sdk_omap2_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg omap_soc.cfg systemd.cfg debug_options.cfg +classification: SDK_Debug_Defconfigs type: ti_sdk_k2g_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg keystone.cfg lpae.cfg k2g_only.cfg systemd.cfg debug_options.cfg +classification: SDK_Debug_Defconfigs type: ti_sdk_keystone_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg keystone.cfg lpae.cfg systemd.cfg debug_options.cfg +classification: SDK_Debug_Defconfigs type: ti_sdk_omapl138_debug defconfig: davinci_all_defconfig config_file: None extra_configs: baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg systemd.cfg debug_options.cfg +# RT Defconfigs +classification: SDK_Release_Defconfigs type: ti_sdk_am3x_rt_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg omap_soc.cfg am33xx_only.cfg real_time.cfg systemd.cfg +classification: SDK_Release_Defconfigs type: ti_sdk_am4x_rt_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg omap_soc.cfg am43xx_only.cfg real_time.cfg systemd.cfg +classification: SDK_Release_Defconfigs type: ti_sdk_dra7x_rt_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg omap_soc.cfg lpae.cfg dra7_only.cfg real_time.cfg systemd.cfg +classification: SDK_Release_Defconfigs type: ti_sdk_omap2_rt_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg omap_soc.cfg real_time.cfg systemd.cfg +classification: SDK_Release_Defconfigs type: ti_sdk_k2g_rt_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg keystone.cfg lpae.cfg k2g_only.cfg real_time.cfg systemd.cfg +classification: SDK_Release_Defconfigs type: ti_sdk_keystone_rt_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg keystone.cfg lpae.cfg real_time.cfg systemd.cfg +# RT Debug Defconfigs +classification: SDK_Debug_Defconfigs type: ti_sdk_am3x_rt_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg omap_soc.cfg am33xx_only.cfg real_time.cfg systemd.cfg debug_options.cfg +classification: SDK_Debug_Defconfigs type: ti_sdk_am4x_rt_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg omap_soc.cfg am43xx_only.cfg real_time.cfg systemd.cfg debug_options.cfg +classification: SDK_Debug_Defconfigs type: ti_sdk_dra7x_rt_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg omap_soc.cfg lpae.cfg dra7_only.cfg real_time.cfg systemd.cfg debug_options.cfg +classification: SDK_Debug_Defconfigs type: ti_sdk_omap2_rt_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg omap_soc.cfg real_time.cfg systemd.cfg debug_options.cfg +classification: SDK_Debug_Defconfigs type: ti_sdk_k2g_rt_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg keystone.cfg lpae.cfg k2g_only.cfg real_time.cfg systemd.cfg debug_options.cfg +classification: SDK_Debug_Defconfigs type: ti_sdk_keystone_rt_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg keystone.cfg lpae.cfg real_time.cfg systemd.cfg debug_options.cfg +# Android Defconfigs +classification: SDK_Release_Defconfigs type: ti_sdk_am57x_android_release defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg omap_soc.cfg lpae.cfg dra7_only.cfg systemd.cfg ../kernel/configs/android-base.config ../kernel/configs/android-recommended.config android.cfg +# Android Debug Defconfigs +classification: SDK_Debug_Defconfigs type: ti_sdk_am57x_android_debug defconfig: multi_v7_defconfig config_file: None extra_configs: multi_v7_prune.cfg baseport.cfg ipc.cfg connectivity.cfg audio_display.cfg omap_soc.cfg lpae.cfg dra7_only.cfg systemd.cfg debug_options.cfg ../kernel/configs/android-base.config ../kernel/configs/android-recommended.config android.cfg diff --git a/ti_config_fragments/dra7_only.cfg b/ti_config_fragments/dra7_only.cfg new file mode 100644 index 000000000000..db0d4ab8ddb8 --- /dev/null +++ b/ti_config_fragments/dra7_only.cfg @@ -0,0 +1,25 @@ +################################################## +# TI DRA7 specific config options +################################################## + +# Supported ARM CPUs +CONFIG_ARCH_MULTI_V6=n +CONFIG_ARCH_MULTI_V7=y +CONFIG_ARCH_MULTI_V6_V7=n +CONFIG_CPU_V6=n + +# Enable CONFIG_SMP +CONFIG_SMP=y + +# Disable Socs other than DRA7 +CONFIG_ARCH_OMAP2=n +CONFIG_ARCH_OMAP3=n +CONFIG_ARCH_OMAP4=n +CONFIG_SOC_OMAP5=n +CONFIG_SOC_AM33XX=n +CONFIG_SOC_AM43XX=n +CONFIG_SOC_DRA7XX=y + +CONFIG_ARCH_KEYSTONE=n + +CONFIG_ARM_LPAE=y diff --git a/ti_config_fragments/ipc.cfg b/ti_config_fragments/ipc.cfg new file mode 100644 index 000000000000..df084a242742 --- /dev/null +++ b/ti_config_fragments/ipc.cfg @@ -0,0 +1,37 @@ +################################################## +# TI RPMsg/IPC Config Options +################################################## +# HwSpinLock +CONFIG_HWSPINLOCK=y +CONFIG_HWSPINLOCK_OMAP=y + +# Mailbox +CONFIG_MAILBOX=y +CONFIG_OMAP2PLUS_MBOX=y + +# IOMMU +CONFIG_IOMMU_SUPPORT=y +CONFIG_OMAP_IOMMU=y +CONFIG_OMAP_IOMMU_DEBUG=y + +# SoC +CONFIG_TI_PRUSS=m + +# Remoteproc +CONFIG_REMOTEPROC=m +CONFIG_OMAP_REMOTEPROC=m +CONFIG_OMAP_REMOTEPROC_WATCHDOG=y +CONFIG_KEYSTONE_REMOTEPROC=m +CONFIG_PRU_REMOTEPROC=m + +# RPMsg +CONFIG_RPMSG_VIRTIO=m +CONFIG_RPMSG_PROTO=m +CONFIG_RPMSG_RPC=m +CONFIG_RPMSG_PRU=m + +# DSP Memory Mapper for Keystone MPM +CONFIG_KEYSTONE_DSP_MEM=m + +# UIO Module +CONFIG_UIO=m diff --git a/ti_config_fragments/k2g_only.cfg b/ti_config_fragments/k2g_only.cfg new file mode 100644 index 000000000000..f400c48088cf --- /dev/null +++ b/ti_config_fragments/k2g_only.cfg @@ -0,0 +1,11 @@ +################################################## +# TI K2G (UP) specific config options +################################################## + +# HACK: Enable SMP for working around Coherency problems +CONFIG_SMP=y +CONFIG_CPUSETS=n +CONFIG_POWER_SUPPLY=n + +# Increase CMA for HDMI +CONFIG_CMA_SIZE_MBYTES=48 diff --git a/ti_config_fragments/k3_soc.cfg b/ti_config_fragments/k3_soc.cfg new file mode 100644 index 000000000000..cde0333b9f8c --- /dev/null +++ b/ti_config_fragments/k3_soc.cfg @@ -0,0 +1,7 @@ +################################################## +# TI Base K3 SoCs +################################################## + +CONFIG_ARCH_K3=y +CONFIG_SOC_TI=y +CONFIG_ARCH_K3_AM6_SOC=y diff --git a/ti_config_fragments/keystone.cfg b/ti_config_fragments/keystone.cfg new file mode 100644 index 000000000000..38bd005ab79d --- /dev/null +++ b/ti_config_fragments/keystone.cfg @@ -0,0 +1,29 @@ +################################################## +# TI Base Keystone generation SoCs generic default +################################################## + +# EDAC +CONFIG_RAS=y +CONFIG_EDAC=y +CONFIG_EDAC_TI=m + +CONFIG_ARCH_MULTI_V7=y +CONFIG_ARCH_MULTI_V6_V7=y +CONFIG_ARCH_KEYSTONE=y +CONFIG_KEYSTONE2_DMA_COHERENT=y +CONFIG_ARCH_OMAP=n +CONFIG_ARCH_OMAP2PLUS=n +CONFIG_ARCH_OMAP2=n +CONFIG_ARCH_OMAP3=n +CONFIG_ARCH_OMAP4=n +CONFIG_SOC_OMAP5=n +CONFIG_SOC_AM33XX=n +CONFIG_SOC_AM43XX=n +CONFIG_SOC_DRA7XX=n +CONFIG_ARM_PSCI=y +CONFIG_POWER_RESET_KEYSTONE=y + +# Maximum Number of processors +CONFIG_NR_CPUS=8 + +CONFIG_HIGHMEM=y diff --git a/ti_config_fragments/lpae.cfg b/ti_config_fragments/lpae.cfg new file mode 100644 index 000000000000..19bab134e014 --- /dev/null +++ b/ti_config_fragments/lpae.cfg @@ -0,0 +1 @@ +CONFIG_ARM_LPAE=y diff --git a/ti_config_fragments/multi_v7_prune.cfg b/ti_config_fragments/multi_v7_prune.cfg new file mode 100644 index 000000000000..c00534d0c3d4 --- /dev/null +++ b/ti_config_fragments/multi_v7_prune.cfg @@ -0,0 +1,62 @@ +# Add config flags here that only appear in the multi_v7_defconfig +CONFIG_ARCH_ALPINE=n +CONFIG_ARCH_ARTPEC=n +CONFIG_ARCH_AT91=n +CONFIG_ARCH_BCM=n +CONFIG_ARCH_BCM_CYGNUS=n +CONFIG_ARCH_BCM_NSP=n +CONFIG_ARCH_BCM_5301X=n +CONFIG_ARCH_BCM_281XX=n +CONFIG_ARCH_BCM_21664=n +CONFIG_ARCH_BRCMSTB=n +CONFIG_ARCH_BERLIN=n +CONFIG_ARCH_DIGICOLOR=n +CONFIG_ARCH_HIGHBANK=n +CONFIG_ARCH_HISI=n +CONFIG_ARCH_HI3xxx=n +CONFIG_ARCH_HIP01=n +CONFIG_ARCH_HIP04=n +CONFIG_ARCH_HIX5HD2=n +CONFIG_ARCH_MESON=n +CONFIG_ARCH_MXC=n +CONFIG_ARCH_MEDIATEK=n +CONFIG_ARCH_QCOM=n +CONFIG_ARCH_MSM8X60=n +CONFIG_ARCH_MSM8960=n +CONFIG_ARCH_MSM8974=n +CONFIG_ARCH_ROCKCHIP=n +CONFIG_ARCH_SOCFPGA=n +CONFIG_ARCH_SPEAR13XX=n +CONFIG_ARCH_STI=n +CONFIG_ARCH_EXYNOS=n +CONFIG_ARCH_SHMOBILE_MULTI=n +CONFIG_ARCH_EMEV2=n +CONFIG_ARCH_R7S72100=n +CONFIG_ARCH_R8A73A4=n +CONFIG_ARCH_R8A7740=n +CONFIG_ARCH_R8A7778=n +CONFIG_ARCH_R8A7779=n +CONFIG_ARCH_R8A7790=n +CONFIG_ARCH_R8A7791=n +CONFIG_ARCH_R8A7793=n +CONFIG_ARCH_R8A7794=n +CONFIG_ARCH_RENESAS=n +CONFIG_ARCH_SH73A0=n +CONFIG_ARCH_SUNXI=n +CONFIG_ARCH_STM32=n +CONFIG_ARCH_SIRF=n +CONFIG_ARCH_TEGRA=n +CONFIG_ARCH_TEGRA_2x_SOC=n +CONFIG_ARCH_TEGRA_3x_SOC=n +CONFIG_ARCH_TEGRA_114_SOC=n +CONFIG_ARCH_TEGRA_124_SOC=n +CONFIG_ARCH_UNIPHIER=n +CONFIG_ARCH_U8500=n +CONFIG_ARCH_VEXPRESS=n +CONFIG_ARCH_VEXPRESS_TC2_PM=n +CONFIG_ARCH_WM8850=n +CONFIG_ARCH_ZYNQ=n +CONFIG_ARCH_VIRT=n +CONFIG_ARCH_MVEBU=n +CONFIG_PLAT_SPEAR=n +CONFIG_CHROME_PLATFORMS=n diff --git a/ti_config_fragments/omap5_soc.cfg b/ti_config_fragments/omap5_soc.cfg new file mode 100644 index 000000000000..551c5b8b890c --- /dev/null +++ b/ti_config_fragments/omap5_soc.cfg @@ -0,0 +1,14 @@ +################################################## +# TI OMAP5 EVM specific config options +################################################## + +#ETHERNET +CONFIG_USB_USBNET=y +CONFIG_USB_NET_DRIVERS=y +CONFIG_USB_NET_SMSC95XX=y + +#USB HOST +CONFIG_USB=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_PCI=y +CONFIG_USB_EHCI_HCD_OMAP=y diff --git a/ti_config_fragments/omap_soc.cfg b/ti_config_fragments/omap_soc.cfg new file mode 100644 index 000000000000..6fd6767a4b2b --- /dev/null +++ b/ti_config_fragments/omap_soc.cfg @@ -0,0 +1,31 @@ +################################################## +# TI Base OMAP generation SoCs generic default +################################################## + +CONFIG_ARCH_MULTI_V7=y +CONFIG_ARCH_MULTI_V6_V7=y +CONFIG_ARCH_KEYSTONE=n +CONFIG_KEYSTONE2_DMA_COHERENT=n +CONFIG_ARCH_OMAP=y + +CONFIG_ARCH_OMAP2=n +CONFIG_ARCH_OMAP3=n +CONFIG_ARCH_OMAP4=n +CONFIG_SOC_OMAP5=y +CONFIG_SOC_AM33XX=y +CONFIG_SOC_AM43XX=y +CONFIG_SOC_DRA7XX=y +CONFIG_ARCH_OMAP2PLUS=y +CONFIG_OMAP_INTERCONNECT_BARRIER=y +CONFIG_ARM_PSCI=n + +# Maximum Number of processors +CONFIG_NR_CPUS=2 + +# Kexec +CONFIG_KEXEC=y + +# EDAC +CONFIG_RAS=y +CONFIG_EDAC=y +CONFIG_EDAC_TI=m diff --git a/ti_config_fragments/systemd.cfg b/ti_config_fragments/systemd.cfg new file mode 100644 index 000000000000..55190a264ae4 --- /dev/null +++ b/ti_config_fragments/systemd.cfg @@ -0,0 +1,88 @@ +############################################## +# +# Kernel options needed for systemd enabled TI SDKs +# See https://cgit.freedesktop.org/systemd/systemd/tree/README#n38 for details +# +############################################## +CONFIG_TMPFS=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_CGROUPS=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_BLK_CGROUP=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_PERF=y + +CONFIG_INOTIFY_USER=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EPOLL=y +CONFIG_NET=y +CONFIG_SYSFS=y +CONFIG_PROC_FS=y +CONFIG_FHANDLE=y + +# udev will fail to work with the legacy sysfs layout: +CONFIG_SYSFS_DEPRECATED=n + +# Legacy hotplug slows down the system and confuses udev: +CONFIG_UEVENT_HELPER_PATH="" + +# Userspace firmware loading is not supported and should +# be disabled in the kernel: +CONFIG_FW_LOADER_USER_HELPER=n + +# Some udev rules and virtualization detection relies on it: +# Only for UEFI based systems +# http://cateee.net/lkddb/web-lkddb/DMI.html +CONFIG_DMIID=n + +# Support for some SCSI devices serial number retrieval, to +# create additional symlinks in /dev/disk/ and /dev/tape: +CONFIG_BLK_DEV_BSG=y + +# Required for PrivateNetwork and PrivateDevices in service units: +# Note that systemd-localed.service and other systemd units use +# PrivateNetwork and PrivateDevices so this is effectively required. +CONFIG_NAMESPACES=y +CONFIG_NET_NS=y +CONFIG_DEVPTS_MULTIPLE_INSTANCES=y + +# Optional but strongly recommended options: those are nice to have and +# indeed recommended, but not necessarily systemd required. These to be +# enabled in corresponding domain fragments since they are not specific +# to supporting systemd. + +CONFIG_SECCOMP=y +# for kcmp syscall +CONFIG_CHECKPOINT_RESTORE=y + +# Required for CPUShares= in resource control unit settings +CONFIG_CGROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y + +# Required for CPUQuota= in resource control unit settings +CONFIG_CFS_BANDWIDTH=y + +# For systemd-bootchart, several proc debug interfaces are required: +# Systemd-debug.cfg? +CONFIG_SCHEDSTATS=y +CONFIG_SCHED_DEBUG=y + +# We recommend to turn off Real-Time group scheduling in the +# kernel when using systemd. RT group scheduling effectively +# makes RT scheduling unavailable for most userspace, since it +# requires explicit assignment of RT budgets to each unit whose +# processes making use of RT. As there's no sensible way to +# assign these budgets automatically this cannot really be +# fixed, and it's best to disable group scheduling hence. +CONFIG_RT_GROUP_SCHED=n + +# Note that kernel auditing is broken when used with systemd's +# container code. When using systemd in conjunction with +# containers, please make sure to either turn off auditing at +# runtime using the kernel command line option "audit=0", or +# turn it off at kernel compile time using: +CONFIG_AUDIT=n diff --git a/ti_config_fragments/v8_android.cfg b/ti_config_fragments/v8_android.cfg new file mode 100644 index 000000000000..91723cd2419e --- /dev/null +++ b/ti_config_fragments/v8_android.cfg @@ -0,0 +1,33 @@ +############################################################################### +# TI Android Config Options +# Use to set additional android options exclusively for TI v8 products +# Note: +# Use kernel/configs/android-base.config to set google android base options +# Use kernel/configs/android-recommended.config to set google android +# recommended options +# Use kernel/configs/android-base-arm64.config to set google +# android base arm64 platform options +############################################################################### +CONFIG_CMDLINE="androidboot.selinux=permissive cma=256m vmalloc=400m" +CONFIG_CMDLINE_EXTEND=y +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y + +CONFIG_ARM64_64K_PAGES=n +CONFIG_ARM64_4K_PAGES=y + +# Enable firmware fallback mechanism +CONFIG_FW_LOADER_USER_HELPER=y +CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y + +# ION heaps +CONFIG_ION_SYSTEM_HEAP=y +CONFIG_ION_CMA_HEAP=y + +# Misc +CONFIG_DEVTMPFS=n + +# Software Sync Interface +CONFIG_SW_SYNC=y + +# PVR SGX544 Rev 117 Driver +CONFIG_PVR_SGX544_AM654=m diff --git a/ti_config_fragments/v8_baseport.cfg b/ti_config_fragments/v8_baseport.cfg new file mode 100644 index 000000000000..731addb1b16d --- /dev/null +++ b/ti_config_fragments/v8_baseport.cfg @@ -0,0 +1,137 @@ +################################################## +# TI Baseport Config Options +################################################## + +# ARM configuration +CONFIG_ARM64_4K_PAGES=n +CONFIG_ARM64_64K_PAGES=y +CONFIG_ARM64_VA_BITS_48=y +CONFIG_ARM64_VA_BITS=48 + +# Serial +CONFIG_SERIAL_8250_OMAP=y +CONFIG_SERIAL_8250_NR_UARTS=10 +CONFIG_SERIAL_8250_RUNTIME_UARTS=10 + +# K3 Power config options +CONFIG_MAILBOX=y +CONFIG_PM=y +CONFIG_TI_MESSAGE_MANAGER=y +CONFIG_TI_SCI_PROTOCOL=y +CONFIG_TI_SCI_PM_DOMAINS=y +CONFIG_TI_SCI_CLK=y + +# Enable Reset Controllers +CONFIG_RESET_CONTROLLER=y +CONFIG_RESET_TI_SYSCON=y +CONFIG_RESET_TI_SCI=y + +# Enable Interrupt Controllers +CONFIG_TI_SCI_INTR_IRQCHIP=y +CONFIG_TI_SCI_INTA_IRQCHIP=y + +# Enable options for NAVSS (DMA support) +CONFIG_TI_K3_RINGACC=y +CONFIG_TI_K3_UDMA=y +CONFIG_TI_K3_UDMA_GLUE_LAYER=y + +# OPTEE Driver +CONFIG_TEE=y +CONFIG_OPTEE=y + +#----- +# Generic Kernel Options +#----- + +# Enable process accounting +CONFIG_BSD_PROCESS_ACCT=y + +# Enable support for perf +CONFIG_PERF_EVENTS=y + +# Have some way to pick up kernel config later on +# Always useful to look at /proc/config.gz +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y + +# Add Bin2c +CONFIG_BUILD_BIN2C=y + +# Add base Cgroups functions +CONFIG_CGROUPS=y +CONFIG_CGROUP_DEBUG=n +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CPUSETS=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_PAGE_COUNTER=y +CONFIG_MEMCG=y +CONFIG_MEMCG_SWAP=y +CONFIG_MEMCG_SWAP_ENABLED=y +CONFIG_CGROUP_PERF=y +CONFIG_CGROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_RT_GROUP_SCHED=y +CONFIG_BLK_CGROUP=y +CONFIG_DEBUG_BLK_CGROUP=n +CONFIG_CGROUP_WRITEBACK=y + +# Choose CONFIG_EMBEDDED +CONFIG_NAMESPACES=n +CONFIG_EMBEDDED=y +CONFIG_EXPERT=y + +# Enable all kernel symbols please +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y + +# How do we want kernel Modules to work? +CONFIG_BASE_FULL=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODULE_SIG=n +CONFIG_MODULE_COMPRESS=n +CONFIG_MODULES_TREE_LOOKUP=y + +# Boot options +CONFIG_CMDLINE="" +CONFIG_CMDLINE_FORCE=n +CONFIG_CRASH_DUMP=n +CONFIG_AUTO_ZRELADDR=y + +# Mem allocator +CONFIG_SLAB=n +CONFIG_SLUB=y +CONFIG_SLUB_DEBUG=n + +# Pinctrl +CONFIG_PINCTRL=y +CONFIG_PINCTRL_SINGLE=y + +# GPIO +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_DAVINCI=y + +# Enable options to facilitate testing +CONFIG_CRYPTO_TEST=m + +# Pseudo filesystems +CONFIG_TMPFS=y + +# Thermal +CONFIG_K3_THERMAL=y + +# Disable extra debug options +CONFIG_PROFILING=n + +# Block Layer +CONFIG_BLK_DEV_RAM=y diff --git a/ti_config_fragments/v8_defconfig_map.txt b/ti_config_fragments/v8_defconfig_map.txt new file mode 100644 index 000000000000..bb426282d4b7 --- /dev/null +++ b/ti_config_fragments/v8_defconfig_map.txt @@ -0,0 +1,12 @@ +# Release Defconfigs +classification: SDK_Release_Defconfigs type: ti_sdk_arm64_release defconfig: defconfig config_file: None extra_configs: arm64_prune.cfg v8_baseport.cfg v8_ipc.cfg connectivity.cfg audio_display.cfg k3_soc.cfg systemd.cfg +# Debug Defconfigs +classification: SDK_Debug_Defconfigs type: ti_sdk_arm64_debug defconfig: defconfig config_file: None extra_configs: arm64_prune.cfg v8_baseport.cfg v8_ipc.cfg connectivity.cfg audio_display.cfg k3_soc.cfg systemd.cfg debug_options.cfg +# RT Defconfigs +classification: SDK_Release_Defconfigs type: ti_sdk_arm64_rt_release defconfig: defconfig config_file: None extra_configs: arm64_prune.cfg v8_baseport.cfg v8_ipc.cfg connectivity.cfg audio_display.cfg k3_soc.cfg real_time.cfg systemd.cfg +# RT Debug Defconfigs +classification: SDK_Debug_Defconfigs type: ti_sdk_arm64_rt_debug defconfig: defconfig config_file: None extra_configs: arm64_prune.cfg v8_baseport.cfg v8_ipc.cfg connectivity.cfg audio_display.cfg k3_soc.cfg real_time.cfg systemd.cfg debug_options.cfg +# Android Defconfigs +classification: SDK_Release_Defconfigs type: ti_sdk_arm64_android_release defconfig: defconfig config_file: None extra_configs: arm64_prune.cfg v8_baseport.cfg v8_ipc.cfg connectivity.cfg audio_display.cfg k3_soc.cfg ../kernel/configs/android-base.config ../kernel/configs/android-recommended.config v8_android.cfg +# Android Debug Defconfigs +classification: SDK_Debug_Defconfigs type: ti_sdk_arm64_android_debug defconfig: defconfig config_file: None extra_configs: arm64_prune.cfg v8_baseport.cfg v8_ipc.cfg connectivity.cfg audio_display.cfg k3_soc.cfg debug_options.cfg ../kernel/configs/android-base.config ../kernel/configs/android-recommended.config v8_android.cfg diff --git a/ti_config_fragments/v8_ipc.cfg b/ti_config_fragments/v8_ipc.cfg new file mode 100644 index 000000000000..9c364e691503 --- /dev/null +++ b/ti_config_fragments/v8_ipc.cfg @@ -0,0 +1,23 @@ +################################################## +# TI RPMsg/IPC Config Options +################################################## +# HwSpinLock +CONFIG_HWSPINLOCK=y +CONFIG_HWSPINLOCK_OMAP=y + +# Mailbox +CONFIG_MAILBOX=y +CONFIG_OMAP2PLUS_MBOX=y + +# SoC Drivers +CONFIG_TI_PRUSS=m + +# Remoteproc +CONFIG_REMOTEPROC=m +CONFIG_PRU_REMOTEPROC=m +CONFIG_TI_K3_R5_REMOTEPROC=m + +# RPMsg +CONFIG_RPMSG_VIRTIO=m +CONFIG_RPMSG_PROTO=m +CONFIG_RPMSG_PRU=m |