sandbox: Tidy up RTC options
authorSimon Glass <sjg@chromium.org>
Wed, 22 Feb 2023 16:34:04 +0000 (09:34 -0700)
committerTom Rini <trini@konsulko.com>
Thu, 2 Mar 2023 22:45:58 +0000 (17:45 -0500)
At present we enable the sandbox RTC driver for all builds. Add a separate
Kconfig option to control this, so that it can be disabled in TPL, where
it is not needed.

Signed-off-by: Simon Glass <sjg@chromium.org>
arch/sandbox/dts/sandbox.dts
arch/sandbox/dts/sandbox.dtsi
arch/sandbox/include/asm/rtc.h
drivers/rtc/Kconfig
drivers/rtc/Makefile

index a4c1b8f..e9b6745 100644 (file)
@@ -76,7 +76,7 @@
                clock-frequency = <400000>;
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_i2c0>;
-               bootph-all;
+               bootph-pre-ram;
        };
 
        pcic: pci@0 {
index 1f446e6..30a305c 100644 (file)
                        reg = <0x43>;
                        compatible = "sandbox-rtc";
                        sandbox,emul = <&emul0>;
-                       bootph-all;
+                       bootph-pre-ram;
                };
                sandbox_pmic: sandbox_pmic {
                        reg = <0x40>;
                };
 
                i2c_emul: emul {
-                       bootph-all;
+                       bootph-pre-ram;
                        reg = <0xff>;
                        compatible = "sandbox,i2c-emul-parent";
                        emul_eeprom: emul-eeprom {
                                #emul-cells = <0>;
                        };
                        emul0: emul0 {
-                               bootph-all;
+                               bootph-pre-ram;
                                compatible = "sandbox,i2c-rtc-emul";
                                #emul-cells = <0>;
                        };
index 025cd6c..bf3ac5e 100644 (file)
@@ -40,7 +40,7 @@ enum {
  * @reg:               Register values
  */
 struct sandbox_i2c_rtc_plat_data {
-#if CONFIG_IS_ENABLED(OF_PLATDATA)
+#if CONFIG_IS_ENABLED(OF_PLATDATA) && IS_ENABLED(CONFIG_RTC_SANDBOX)
        struct dtd_sandbox_i2c_rtc_emul dtplat;
 #endif
        long base_time;
index 35b6ed4..fcfda28 100644 (file)
@@ -231,6 +231,24 @@ config RTC_M41T62
          Enable driver for ST's M41T62 compatible RTC devices (like RV-4162).
          It is a serial (I2C) real-time clock (RTC) with alarm.
 
+config RTC_SANDBOX
+       bool "Enable sandbox RTC driver"
+       depends on SANDBOX && DM_RTC
+       default y
+       help
+         Enable the sandbox RTC driver. This driver connects to the RTC
+         emulator and is used to test the RTC uclasses and associated code,
+         as well as the I2C subsystem.
+
+config SPL_RTC_SANDBOX
+       bool "Enable sandbox RTC driver (SPL)"
+       depends on SANDBOX && SPL_DM_RTC
+       default y
+       help
+         Enable the sandbox RTC driver. This driver connects to the RTC
+         emulator and is used to test the RTC uclasses and associated code,
+         as well as the I2C subsystem.
+
 config RTC_STM32
        bool "Enable STM32 RTC driver"
        depends on DM_RTC
index 447551e..b6c9029 100644 (file)
@@ -16,7 +16,7 @@ obj-$(CONFIG_RTC_DS3231) += ds3231.o
 obj-$(CONFIG_RTC_DS3232) += ds3232.o
 obj-$(CONFIG_RTC_EMULATION) += emul_rtc.o
 obj-$(CONFIG_RTC_HT1380) += ht1380.o
-obj-$(CONFIG_SANDBOX) += i2c_rtc_emul.o
+obj-$(CONFIG_$(SPL_TPL_)RTC_SANDBOX) += i2c_rtc_emul.o
 obj-$(CONFIG_RTC_ISL1208) += isl1208.o
 obj-$(CONFIG_RTC_M41T62) += m41t62.o
 obj-$(CONFIG_RTC_MC13XXX) += mc13xxx-rtc.o
@@ -35,6 +35,6 @@ obj-$(CONFIG_RTC_RX8025) += rx8025.o
 obj-$(CONFIG_RTC_RX8010SJ) += rx8010sj.o
 obj-$(CONFIG_RTC_S35392A) += s35392a.o
 obj-$(CONFIG_RTC_STM32) += stm32_rtc.o
-obj-$(CONFIG_SANDBOX) += sandbox_rtc.o
+obj-$(CONFIG_$(SPL_TPL_)RTC_SANDBOX) += sandbox_rtc.o
 obj-$(CONFIG_RTC_ABX80X) += abx80x.o
 obj-$(CONFIG_RTC_ZYNQMP) += zynqmp_rtc.o