[PATCH v1 13/17] rockchip: adc: make adc branch compile in SPL

Johan Jonker jbx6244 at gmail.com
Sun May 8 17:08:21 CEST 2022


Make the ADC branch compile in SPL.

Signed-off-by: Johan Jonker <jbx6244 at gmail.com>
---
 drivers/Makefile     |  3 ++-
 drivers/adc/Kconfig  | 29 +++++++++++++++++++++++++++++
 drivers/adc/Makefile |  4 ++--
 3 files changed, 33 insertions(+), 3 deletions(-)

diff --git a/drivers/Makefile b/drivers/Makefile
index 4e7cf284..e79bbe29 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -40,6 +40,7 @@ obj-$(CONFIG_$(SPL_)FPGA) += fpga/
 ifndef CONFIG_TPL_BUILD
 ifdef CONFIG_SPL_BUILD
 
+obj-$(CONFIG_SPL_ADC) += adc/
 obj-$(CONFIG_SPL_CPU) += cpu/
 obj-$(CONFIG_SPL_CRYPTO) += crypto/
 obj-$(CONFIG_SPL_MPC8XXX_INIT_DDR) += ddr/fsl/
@@ -71,7 +72,7 @@ endif
 
 ifeq ($(CONFIG_SPL_BUILD)$(CONFIG_TPL_BUILD),)
 
-obj-y += adc/
+obj-$(CONFIG_ADC) += adc/
 obj-y += ata/
 obj-y += bus/
 obj-$(CONFIG_DM_DEMO) += demo/
diff --git a/drivers/adc/Kconfig b/drivers/adc/Kconfig
index e719c38b..68e0d2d3 100644
--- a/drivers/adc/Kconfig
+++ b/drivers/adc/Kconfig
@@ -1,5 +1,6 @@
 config ADC
 	bool "Enable ADC drivers using Driver Model"
+	depends on DM
 	help
 	  This enables ADC API for drivers, which allows driving ADC features
 	  by single and multi-channel methods for:
@@ -11,8 +12,23 @@ config ADC
 	  - support supply's phandle with auto-enable
 	  - supply polarity setting in fdt
 
+config SPL_ADC
+	bool "Enable ADC drivers using Driver Model in SPL"
+	depends on SPL_DM
+	help
+	  This enables ADC API for drivers, which allows driving ADC features
+	  by single and multi-channel methods in SPL for:
+	  - start/stop/get data for conversion of a single-channel selected by
+	    a number or multi-channels selected by a bitmask
+	  - get data mask (ADC resolution)
+	  ADC reference Voltage supply options:
+	  - methods for get Vdd/Vss reference Voltage values with polarity
+	  - support supply's phandle with auto-enable
+	  - supply polarity setting in fdt
+
 config ADC_EXYNOS
 	bool "Enable Exynos 54xx ADC driver"
+	depends on ADC
 	help
 	  This enables basic driver for Exynos ADC compatible with Exynos54xx.
 	  It provides:
@@ -22,6 +38,7 @@ config ADC_EXYNOS
 
 config ADC_SANDBOX
 	bool "Enable Sandbox ADC test driver"
+	depends on ADC
 	help
 	  This enables driver for Sandbox ADC device emulation.
 	  It provides:
@@ -31,6 +48,7 @@ config ADC_SANDBOX
 
 config SARADC_MESON
 	bool "Enable Amlogic Meson SARADC driver"
+	depends on ADC
 	imply REGMAP
 	help
 	  This enables driver for Amlogic Meson SARADC.
@@ -41,6 +59,7 @@ config SARADC_MESON
 
 config SARADC_ROCKCHIP
 	bool "Enable Rockchip SARADC driver"
+	depends on ADC
 	help
 	  This enables driver for Rockchip SARADC.
 	  It provides:
@@ -48,6 +67,16 @@ config SARADC_ROCKCHIP
 	  - 1O or 12 bits resolution
 	  - Up to 1MSPS of sample rate
 
+config SPL_SARADC_ROCKCHIP
+	bool "Enable Rockchip SARADC driver in SPL"
+	depends on SPL_ADC
+	help
+	  This enables driver for Rockchip SARADC in SPL.
+	  It provides:
+	  - 2~6 analog input channels
+	  - 1O or 12 bits resolution
+	  - Up to 1MSPS of sample rate
+
 config STM32_ADC
 	bool "Enable STMicroelectronics STM32 ADC driver"
 	depends on ADC && (STM32H7 || ARCH_STM32MP)
diff --git a/drivers/adc/Makefile b/drivers/adc/Makefile
index c1387f3a..43788c48 100644
--- a/drivers/adc/Makefile
+++ b/drivers/adc/Makefile
@@ -4,9 +4,9 @@
 # Przemyslaw Marczak <p.marczak at samsung.com>
 #
 
-obj-$(CONFIG_ADC) += adc-uclass.o
+obj-y += adc-uclass.o
 obj-$(CONFIG_ADC_EXYNOS) += exynos-adc.o
 obj-$(CONFIG_ADC_SANDBOX) += sandbox.o
-obj-$(CONFIG_SARADC_ROCKCHIP) += rockchip-saradc.o
+obj-$(CONFIG_$(SPL_)SARADC_ROCKCHIP) += rockchip-saradc.o
 obj-$(CONFIG_SARADC_MESON) += meson-saradc.o
 obj-$(CONFIG_STM32_ADC) += stm32-adc.o stm32-adc-core.o
-- 
2.20.1



More information about the U-Boot mailing list