162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci# Generic register map support.  There are no user servicable options here,
362306a36Sopenharmony_ci# this is an API intended to be used by other kernel subsystems.  These
462306a36Sopenharmony_ci# subsystems should select the appropriate symbols.
562306a36Sopenharmony_ci
662306a36Sopenharmony_ciconfig REGMAP
762306a36Sopenharmony_ci	bool
862306a36Sopenharmony_ci	default y if (REGMAP_I2C || REGMAP_SPI || REGMAP_SPMI || REGMAP_W1 || REGMAP_AC97 || REGMAP_MMIO || REGMAP_IRQ || REGMAP_SOUNDWIRE || REGMAP_SOUNDWIRE_MBQ || REGMAP_SCCB || REGMAP_I3C || REGMAP_SPI_AVMM || REGMAP_MDIO || REGMAP_FSI)
962306a36Sopenharmony_ci	select IRQ_DOMAIN if REGMAP_IRQ
1062306a36Sopenharmony_ci	select MDIO_BUS if REGMAP_MDIO
1162306a36Sopenharmony_ci	help
1262306a36Sopenharmony_ci	  Enable support for the Register Map (regmap) access API.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci	  Usually, this option is automatically selected when needed.
1562306a36Sopenharmony_ci	  However, you may want to enable it manually for running the regmap
1662306a36Sopenharmony_ci	  KUnit tests.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	  If unsure, say N.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciconfig REGMAP_KUNIT
2162306a36Sopenharmony_ci	tristate "KUnit tests for regmap"
2262306a36Sopenharmony_ci	depends on KUNIT && REGMAP
2362306a36Sopenharmony_ci	default KUNIT_ALL_TESTS
2462306a36Sopenharmony_ci	select REGMAP_RAM
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ciconfig REGMAP_BUILD
2762306a36Sopenharmony_ci	bool "Enable regmap build"
2862306a36Sopenharmony_ci	depends on KUNIT
2962306a36Sopenharmony_ci	select REGMAP
3062306a36Sopenharmony_ci	help
3162306a36Sopenharmony_ci	  This option exists purely to allow the regmap KUnit tests to
3262306a36Sopenharmony_ci	  be enabled without having to enable some driver that uses
3362306a36Sopenharmony_ci	  regmap due to unfortunate issues with how KUnit tests are
3462306a36Sopenharmony_ci	  normally enabled.
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ciconfig REGMAP_AC97
3762306a36Sopenharmony_ci	tristate
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ciconfig REGMAP_I2C
4062306a36Sopenharmony_ci	tristate
4162306a36Sopenharmony_ci	depends on I2C
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciconfig REGMAP_SLIMBUS
4462306a36Sopenharmony_ci	tristate
4562306a36Sopenharmony_ci	depends on SLIMBUS
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ciconfig REGMAP_SPI
4862306a36Sopenharmony_ci	tristate
4962306a36Sopenharmony_ci	depends on SPI
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ciconfig REGMAP_SPMI
5262306a36Sopenharmony_ci	tristate
5362306a36Sopenharmony_ci	depends on SPMI
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ciconfig REGMAP_W1
5662306a36Sopenharmony_ci	tristate
5762306a36Sopenharmony_ci	depends on W1
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ciconfig REGMAP_MDIO
6062306a36Sopenharmony_ci	tristate
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ciconfig REGMAP_MMIO
6362306a36Sopenharmony_ci	tristate
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciconfig REGMAP_IRQ
6662306a36Sopenharmony_ci	bool
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ciconfig REGMAP_RAM
6962306a36Sopenharmony_ci	tristate
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ciconfig REGMAP_SOUNDWIRE
7262306a36Sopenharmony_ci	tristate
7362306a36Sopenharmony_ci	depends on SOUNDWIRE
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ciconfig REGMAP_SOUNDWIRE_MBQ
7662306a36Sopenharmony_ci	tristate
7762306a36Sopenharmony_ci	depends on SOUNDWIRE
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ciconfig REGMAP_SCCB
8062306a36Sopenharmony_ci	tristate
8162306a36Sopenharmony_ci	depends on I2C
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ciconfig REGMAP_I3C
8462306a36Sopenharmony_ci	tristate
8562306a36Sopenharmony_ci	depends on I3C
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ciconfig REGMAP_SPI_AVMM
8862306a36Sopenharmony_ci	tristate
8962306a36Sopenharmony_ci	depends on SPI
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ciconfig REGMAP_FSI
9262306a36Sopenharmony_ci	tristate
9362306a36Sopenharmony_ci	depends on FSI
94