162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_cimenu "Android"
362306a36Sopenharmony_ci
462306a36Sopenharmony_ciconfig ANDROID
562306a36Sopenharmony_ci	bool "Android Drivers"
662306a36Sopenharmony_ci	help
762306a36Sopenharmony_ci	  Enable support for various drivers needed on the Android platform
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciif ANDROID
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ciconfig ANDROID_BINDER_IPC
1262306a36Sopenharmony_ci	bool "Android Binder IPC Driver"
1362306a36Sopenharmony_ci	depends on MMU
1462306a36Sopenharmony_ci	default n
1562306a36Sopenharmony_ci	help
1662306a36Sopenharmony_ci	  Binder is used in Android for both communication between processes,
1762306a36Sopenharmony_ci	  and remote method invocation.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci	  This means one Android process can call a method/routine in another
2062306a36Sopenharmony_ci	  Android process, using Binder to identify, invoke and pass arguments
2162306a36Sopenharmony_ci	  between said processes.
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciconfig ANDROID_BINDERFS
2462306a36Sopenharmony_ci	bool "Android Binderfs filesystem"
2562306a36Sopenharmony_ci	depends on ANDROID_BINDER_IPC
2662306a36Sopenharmony_ci	default n
2762306a36Sopenharmony_ci	help
2862306a36Sopenharmony_ci	  Binderfs is a pseudo-filesystem for the Android Binder IPC driver
2962306a36Sopenharmony_ci	  which can be mounted per-ipc namespace allowing to run multiple
3062306a36Sopenharmony_ci	  instances of Android.
3162306a36Sopenharmony_ci	  Each binderfs mount initially only contains a binder-control device.
3262306a36Sopenharmony_ci	  It can be used to dynamically allocate new binder IPC devices via
3362306a36Sopenharmony_ci	  ioctls.
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ciconfig ANDROID_BINDER_DEVICES
3662306a36Sopenharmony_ci	string "Android Binder devices"
3762306a36Sopenharmony_ci	depends on ANDROID_BINDER_IPC
3862306a36Sopenharmony_ci	default "binder,hwbinder,vndbinder"
3962306a36Sopenharmony_ci	help
4062306a36Sopenharmony_ci	  Default value for the binder.devices parameter.
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci	  The binder.devices parameter is a comma-separated list of strings
4362306a36Sopenharmony_ci	  that specifies the names of the binder device nodes that will be
4462306a36Sopenharmony_ci	  created. Each binder device has its own context manager, and is
4562306a36Sopenharmony_ci	  therefore logically separated from the other devices.
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ciconfig ANDROID_BINDER_IPC_SELFTEST
4862306a36Sopenharmony_ci	bool "Android Binder IPC Driver Selftest"
4962306a36Sopenharmony_ci	depends on ANDROID_BINDER_IPC
5062306a36Sopenharmony_ci	help
5162306a36Sopenharmony_ci	  This feature allows binder selftest to run.
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci	  Binder selftest checks the allocation and free of binder buffers
5462306a36Sopenharmony_ci	  exhaustively with combinations of various buffer sizes and
5562306a36Sopenharmony_ci	  alignments.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ciconfig BINDER_TRANSACTION_PROC_BRIEF
5862306a36Sopenharmony_ci	bool "Brief debug info for binder transaction and proc"
5962306a36Sopenharmony_ci	depends on ANDROID_BINDER_IPC
6062306a36Sopenharmony_ci	default n
6162306a36Sopenharmony_ci	help
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci	  Enable binder optimization
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciconfig BINDER_SENDER_INFO
6662306a36Sopenharmony_ci	bool "Get binder sender info"
6762306a36Sopenharmony_ci	default y
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ciendif # if ANDROID
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ciendmenu
72