aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Protsenko <semen.protsenko@linaro.org>2019-05-20 19:24:07 +0300
committerSam Protsenko <semen.protsenko@linaro.org>2019-05-25 01:40:28 +0300
commit7388565a8149845ffd128261125e1669eae7e466 (patch)
tree1433cd8188f0713699ff2099a3aa157dfd1a34ac
parent63863ee8e2f6f6ae47be3dff4af2f2806f5ca2dd (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>
-rw-r--r--ti_config_fragments/README170
-rw-r--r--ti_config_fragments/am33xx_only.cfg19
-rw-r--r--ti_config_fragments/am43xx_only.cfg19
-rw-r--r--ti_config_fragments/android.cfg32
-rw-r--r--ti_config_fragments/arm64_prune.cfg78
-rw-r--r--ti_config_fragments/audio_display.cfg152
-rw-r--r--ti_config_fragments/baseport.cfg584
-rw-r--r--ti_config_fragments/connectivity.cfg435
-rw-r--r--ti_config_fragments/debug_ftrace.cfg14
-rw-r--r--ti_config_fragments/debug_options.cfg94
-rwxr-xr-xti_config_fragments/defconfig_builder.sh479
-rw-r--r--ti_config_fragments/defconfig_map.txt34
-rw-r--r--ti_config_fragments/dra7_only.cfg25
-rw-r--r--ti_config_fragments/ipc.cfg37
-rw-r--r--ti_config_fragments/k2g_only.cfg11
-rw-r--r--ti_config_fragments/k3_soc.cfg7
-rw-r--r--ti_config_fragments/keystone.cfg29
-rw-r--r--ti_config_fragments/lpae.cfg1
-rw-r--r--ti_config_fragments/multi_v7_prune.cfg62
-rw-r--r--ti_config_fragments/omap5_soc.cfg14
-rw-r--r--ti_config_fragments/omap_soc.cfg31
-rw-r--r--ti_config_fragments/systemd.cfg88
-rw-r--r--ti_config_fragments/v8_android.cfg33
-rw-r--r--ti_config_fragments/v8_baseport.cfg137
-rw-r--r--ti_config_fragments/v8_defconfig_map.txt12
-rw-r--r--ti_config_fragments/v8_ipc.cfg23
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