diff options
author | Simon Glass | 2021-08-08 12:20:29 -0600 |
---|---|---|
committer | Tom Rini | 2021-09-04 12:26:02 -0400 |
commit | a4faf1f563160b1b9cfbdbf388d33464691d0440 (patch) | |
tree | c2ec2dc3ca4ca49999d043cc7a9ee16ee5503969 | |
parent | 14c251ffe156e5b5b1332efcf5ed6fb7ae62cdc3 (diff) |
power: Refactor Makefile rules
Move the power/ rules into drivers/power to avoid clutter in the Makefile
and drivers/Makefile files.
We must select SPL_POWER if SPL_POWER_DOMAIN is used, since the two are
currently independent and boards do not necessarily enable SPL_POWER.
Add a TPL_POWER as well, as that is used by one board.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
-rw-r--r-- | Makefile | 7 | ||||
-rw-r--r-- | common/spl/Kconfig | 13 | ||||
-rw-r--r-- | configs/chromebook_coral_defconfig | 2 | ||||
-rw-r--r-- | drivers/Makefile | 5 | ||||
-rw-r--r-- | drivers/power/Makefile | 8 | ||||
-rw-r--r-- | drivers/power/acpi_pmc/Makefile | 2 |
6 files changed, 25 insertions, 12 deletions
@@ -815,13 +815,6 @@ libs-y += disk/ libs-y += drivers/ libs-y += drivers/net/ libs-y += drivers/net/phy/ -libs-y += drivers/power/ \ - drivers/power/domain/ \ - drivers/power/fuel_gauge/ \ - drivers/power/mfd/ \ - drivers/power/pmic/ \ - drivers/power/battery/ \ - drivers/power/regulator/ libs-$(CONFIG_FMAN_ENET) += drivers/net/fm/ libs-$(CONFIG_SYS_FSL_DDR) += drivers/ddr/fsl/ libs-$(CONFIG_SYS_FSL_MMDC) += drivers/ddr/fsl/ diff --git a/common/spl/Kconfig b/common/spl/Kconfig index 2618857860c..690926df096 100644 --- a/common/spl/Kconfig +++ b/common/spl/Kconfig @@ -1038,6 +1038,7 @@ config SPL_POWER config SPL_POWER_DOMAIN bool "Support power domain drivers" + select SPL_POWER help Enable support for power domain control in SPL. Many SoCs allow power to be applied to or removed from portions of the SoC (power @@ -1425,6 +1426,18 @@ config TPL_NEEDS_SEPARATE_STACK Enable, if the TPL stage should not inherit its initial stack-pointer from the settings for the SPL stage. +config TPL_POWER + bool "Support power drivers" + help + Enable support for power control in TPL. This includes support + for PMICs (Power-management Integrated Circuits) and some of the + features provided by PMICs. In particular, voltage regulators can + be used to enable/disable power and vary its voltage. That can be + useful in TPL to turn on boot peripherals and adjust CPU voltage + so that the clock speed can be increased. This enables the drivers + in drivers/power, drivers/power/pmic and drivers/power/regulator + as part of an TPL build. + config TPL_TEXT_BASE hex "Base address for the .text section of the TPL stage" depends on TPL_NEEDS_SEPARATE_TEXT_BASE diff --git a/configs/chromebook_coral_defconfig b/configs/chromebook_coral_defconfig index eb0884f1f5d..321ad7de5b7 100644 --- a/configs/chromebook_coral_defconfig +++ b/configs/chromebook_coral_defconfig @@ -44,7 +44,9 @@ CONFIG_SPL_SEPARATE_BSS=y CONFIG_SPL_CPU=y CONFIG_SPL_DM_SPI_FLASH=y CONFIG_SPL_PCI=y +CONFIG_SPL_POWER=y # CONFIG_SPL_SPI_FLASH_TINY is not set +CONFIG_TPL_POWER=y CONFIG_HUSH_PARSER=y CONFIG_CMD_CPU=y CONFIG_CMD_PMC=y diff --git a/drivers/Makefile b/drivers/Makefile index 01d6bf55231..1283b88ea10 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -22,6 +22,7 @@ obj-$(CONFIG_$(SPL_TPL_)PCH) += pch/ obj-$(CONFIG_$(SPL_TPL_)PCI) += pci/ obj-$(CONFIG_$(SPL_TPL_)PHY) += phy/ obj-$(CONFIG_$(SPL_TPL_)PINCTRL) += pinctrl/ +obj-$(CONFIG_$(SPL_TPL_)POWER) += power/ obj-$(CONFIG_$(SPL_TPL_)RAM) += ram/ obj-$(CONFIG_$(SPL_TPL_)RTC) += rtc/ obj-$(CONFIG_$(SPL_TPL_)SERIAL) += serial/ @@ -32,7 +33,6 @@ obj-$(CONFIG_$(SPL_)DM_MAILBOX) += mailbox/ obj-$(CONFIG_$(SPL_)REMOTEPROC) += remoteproc/ obj-$(CONFIG_$(SPL_)SYSINFO) += sysinfo/ obj-$(CONFIG_$(SPL_TPL_)TPM) += tpm/ -obj-$(CONFIG_$(SPL_TPL_)ACPI_PMC) += power/acpi_pmc/ obj-$(CONFIG_XEN) += xen/ obj-$(CONFIG_$(SPL_)FPGA) += fpga/ @@ -47,9 +47,6 @@ obj-$(CONFIG_ARMADA_XP) += ddr/marvell/axp/ obj-$(CONFIG_$(SPL_)ALTERA_SDRAM) += ddr/altera/ obj-$(CONFIG_ARCH_IMX8M) += ddr/imx/imx8m/ obj-$(CONFIG_IMX8ULP_DRAM) += ddr/imx/imx8ulp/ -obj-$(CONFIG_SPL_POWER) += power/ power/pmic/ -obj-$(CONFIG_SPL_POWER) += power/regulator/ -obj-$(CONFIG_SPL_POWER_DOMAIN) += power/domain/ obj-$(CONFIG_SPL_DM_RESET) += reset/ obj-$(CONFIG_SPL_ETH) += net/ obj-$(CONFIG_SPL_ETH) += net/phy/ diff --git a/drivers/power/Makefile b/drivers/power/Makefile index 801b727c90f..f805027784d 100644 --- a/drivers/power/Makefile +++ b/drivers/power/Makefile @@ -3,6 +3,14 @@ # Copyright (c) 2009 Wind River Systems, Inc. # Tom Rix <Tom.Rix at windriver.com> +obj-$(CONFIG_$(SPL_TPL_)ACPI_PMC) += acpi_pmc/ +obj-y += battery/ +obj-$(CONFIG_$(SPL_TPL_)POWER_DOMAIN) += domain/ +obj-y += fuel_gauge/ +obj-y += mfd/ +obj-y += pmic/ +obj-y += regulator/ + obj-$(CONFIG_AXP152_POWER) += axp152.o obj-$(CONFIG_AXP209_POWER) += axp209.o obj-$(CONFIG_AXP221_POWER) += axp221.o diff --git a/drivers/power/acpi_pmc/Makefile b/drivers/power/acpi_pmc/Makefile index 115788f109a..0db52a65824 100644 --- a/drivers/power/acpi_pmc/Makefile +++ b/drivers/power/acpi_pmc/Makefile @@ -2,5 +2,5 @@ # # Copyright 2019 Google LLC -obj-$(CONFIG_$(SPL_TPL_)ACPI_PMC) += acpi-pmc-uclass.o +obj-y += acpi-pmc-uclass.o obj-$(CONFIG_$(SPL_TPL_)ACPI_PMC_SANDBOX) += sandbox.o pmc_emul.o |