/Zephyr-Core-3.5.0/doc/services/pm/ |
D | power_domain.rst | 1 .. _pm-power-domain: 3 Power Domain 9 The Zephyr power domain abstraction is designed to support groupings of devices 10 powered by a common source to be notified of power source state changes in a 12 that device B is on the same power domain and should also be configured into a 13 low power state. 15 Power domains are optional on Zephyr, to enable this feature the 18 When a power domain turns itself on or off, it is the responsibility of the 19 power domain to notify all devices using it through their power management 25 .. _pm-domain-work-flow: [all …]
|
D | device.rst | 1 Device Power Management 7 Device power management (PM) on Zephyr is a feature that enables devices to 10 selected, device drivers implementing power management will be able to take 11 advantage of the device power management subsystem. 13 Zephyr supports two types of device power management: 15 - :ref:`Device Runtime Power Management <pm-device-runtime-pm>` 16 - :ref:`System Power Management <pm-device-system-pm>` 18 .. _pm-device-runtime-pm: 20 Device Runtime Power Management 24 and has the best knowledge of their use, performs the device power management. This [all …]
|
D | device_runtime.rst | 1 .. _pm-device-runtime: 3 Device Runtime Power Management 9 The device runtime power management (PM) framework is an active power management 10 mechanism which reduces the overall system power consumption by suspending the 17 When device runtime power management is enabled on a device, its state will be 29 For devices on a power domain (via the devicetree 'power-domain' property), device runtime 30 power management automatically attempts to request and release the dependent domain 34 For the previous to automatically control the power domain state, device runtime PM must be enabled 35 on the power domain device (either through the `zephyr,pm-device-runtime-auto` devicetree property 49 init -> SUSPENDED; [all …]
|
/Zephyr-Core-3.5.0/tests/subsys/pm/device_driver_init/ |
D | app.overlay | 3 compatible = "power-domain-gpio"; 4 enable-gpios = <&gpio0 0 0>; 8 compatible = "power-domain-gpio"; 9 enable-gpios = <&gpio0 1 0>; 10 power-domain = <&test_reg>; 14 compatible = "power-domain-gpio"; 15 enable-gpios = <&gpio0 2 0>; 16 power-domain = <&test_reg>; 17 zephyr,pm-device-runtime-auto; 21 compatible = "power-domain-gpio"; [all …]
|
/Zephyr-Core-3.5.0/subsys/pm/ |
D | Kconfig | 1 # Copyright (c) 2014-2015 Wind River Systems, Inc. 3 # SPDX-License-Identifier: Apache-2.0 5 menu "Power Management" 11 calls to configure low-power states. 14 bool "System Power Management" 17 This option enables the board to implement extra power management 19 power management subsystem of the number of ticks until the next kernel 25 module-str = System Power Management 29 bool "System Power Management Stats" 32 Enable System Power Management Stats. [all …]
|
D | device.c | 4 * SPDX-License-Identifier: Apache-2.0 45 struct pm_device *pm = dev->pm; in pm_device_action_run() 49 return -ENOSYS; in pm_device_action_run() 53 return -EPERM; in pm_device_action_run() 57 if (pm->state == action_target_state[action]) { in pm_device_action_run() 58 return -EALREADY; in pm_device_action_run() 60 if (pm->state != action_expected_state[action]) { in pm_device_action_run() 61 return -ENOTSUP; in pm_device_action_run() 64 ret = pm->action_cb(dev, action); in pm_device_action_run() 67 * TURN_ON and TURN_OFF are actions triggered by a power domain in pm_device_action_run() [all …]
|
/Zephyr-Core-3.5.0/tests/subsys/pm/device_power_domains/ |
D | app.overlay | 3 compatible = "power-domain-gpio"; 4 enable-gpios = <&gpio0 0 0>; 8 compatible = "power-domain-gpio"; 9 enable-gpios = <&gpio0 1 0>; 13 compatible = "power-domain-gpio"; 14 enable-gpios = <&gpio0 2 0>; 15 power-domain = <&test_reg_0>; 19 compatible = "test-device-pm"; 21 power-domain = <&test_reg_1>; 22 alternate-domain = <&test_reg_chained>;
|
/Zephyr-Core-3.5.0/tests/subsys/pm/power_domain/ |
D | app.overlay | 4 * SPDX-License-Identifier: Apache-2.0 9 compatible = "power-domain"; 14 compatible = "test-device-pm"; 16 power-domain = <&test_domain>; 20 compatible = "test-device-pm"; 22 power-domain = <&test_domain>; 26 compatible = "power-domain"; 31 compatible = "test-device-pm"; 33 power-domain = <&test_domain_balanced>;
|
/Zephyr-Core-3.5.0/dts/bindings/power-domain/ |
D | intel,adsp-power-domain.yaml | 3 # SPDX-License-Identifier: Apache-2.0 5 description: Power domains for intel ADSP 7 compatible: "intel,adsp-power-domain" 9 include: power-domain.yaml 12 bit-position: 17 read_address (PWRSTS) to set power active or confirm power active 18 for a desired domain.
|
D | power-domain-gpio.yaml | 2 # SPDX-License-Identifier: Apache-2.0 4 description: Simple GPIO controlled power domain 6 compatible: "power-domain-gpio" 8 include: power-domain.yaml 11 enable-gpios: 12 type: phandle-array 18 provide the GPIO polarity and open-drain status in the phandle 19 selector. The Linux enable-active-high and gpio-open-drain 22 startup-delay-us: 27 off-on-delay-us:
|
D | power-domain.yaml | 2 # SPDX-License-Identifier: Apache-2.0 4 description: Properties for power domains 6 compatible: "power-domain"
|
/Zephyr-Core-3.5.0/drivers/power_domain/ |
D | Kconfig | 2 # SPDX-License-Identifier: Apache-2.0 5 bool "Power domain drivers" 7 Include drivers for power domains in system config 12 module-str = power_domain 16 bool "GPIO controlled power domain" 24 bool "Use Intel ADSP power gating mechanisms" 29 Include Intel ADSP power domain control mechanisms
|
D | power_domain_gpio.c | 5 * SPDX-License-Identifier: Apache-2.0 29 const struct device *domain; member 39 /* Only run action if the device is on the specified domain */ in pd_on_domain_visitor() 40 if (!dev->pm || (dev->pm->domain != visitor_context->domain)) { in pd_on_domain_visitor() 44 (void)pm_device_action_run(dev, visitor_context->action); in pd_on_domain_visitor() 54 struct pd_visitor_context context = {.domain = dev}; in pd_gpio_pm_action() 56 const struct pd_gpio_config *cfg = dev->config; in pd_gpio_pm_action() 57 struct pd_gpio_data *data = dev->data; in pd_gpio_pm_action() 64 return -ENOTSUP; in pd_gpio_pm_action() 70 k_sleep(data->next_boot); in pd_gpio_pm_action() [all …]
|
/Zephyr-Core-3.5.0/include/zephyr/pm/ |
D | device.h | 4 * SPDX-License-Identifier: Apache-2.0 20 * @brief Device Power Management API 34 /** Indicate if the device failed to power up. */ 36 /** Indicate if the device has claimed a power domain */ 49 /** Indicates if the device is used as a power domain */ 57 /** @brief Device power states. */ 71 * Device is turned off (power removed). 88 * Action triggered only by a power domain. 94 * Action triggered only by a power domain. 106 * @retval -ENOTSUP If the requested action is not supported. [all …]
|
/Zephyr-Core-3.5.0/dts/bindings/base/ |
D | pm.yaml | 2 # SPDX-License-Identifier: Apache-2.0 4 # Properties for Power Management (PM) 7 wakeup-source: 19 power-domain: 23 Power domain the device belongs to. 25 The device will be notified when the power domain it belongs to is either 28 zephyr,pm-device-runtime-auto: 31 Automatically configure the device for runtime power management after the
|
/Zephyr-Core-3.5.0/dts/xtensa/intel/ |
D | intel_adsp_ace15_mtpm.dtsi | 4 * SPDX-License-Identifier: Apache-2.0 12 #address-cells = <1>; 13 #size-cells = <0>; 17 compatible = "cdns,tensilica-xtensa-lx7"; 19 cpu-power-states = <&d0i3 &d3>; 20 i-cache-line-size = <64>; 21 d-cache-line-size = <64>; 26 compatible = "cdns,tensilica-xtensa-lx7"; 28 cpu-power-states = <&d0i3 &d3>; 33 compatible = "cdns,tensilica-xtensa-lx7"; [all …]
|
D | intel_adsp_ace20_lnl.dtsi | 4 * SPDX-License-Identifier: Apache-2.0 12 #address-cells = <1>; 13 #size-cells = <0>; 17 compatible = "cdns,tensilica-xtensa-lx7"; 19 cpu-power-states = <&d0i3 &d3>; 20 i-cache-line-size = <64>; 21 d-cache-line-size = <64>; 26 compatible = "cdns,tensilica-xtensa-lx7"; 28 cpu-power-states = <&d0i3 &d3>; 33 compatible = "cdns,tensilica-xtensa-lx7"; [all …]
|
/Zephyr-Core-3.5.0/tests/subsys/pm/power_domain/src/ |
D | main.c | 4 * SPDX-License-Identifier: Apache-2.0 17 static const struct device *const domain = DEVICE_DT_GET(TEST_DOMAIN); variable 31 /* Switch power on */ in domain_pm_action() 42 rc = -ENOTSUP; in domain_pm_action() 56 testing_domain_on_notitication--; in deva_pm_action() 60 testing_domain_off_notitication--; in deva_pm_action() 68 * Device B will return -ENOTSUP for TURN_ON and TURN_OFF actions. 80 ret = -ENOTSUP; in devb_pm_action() 81 testing_domain_on_notitication--; in devb_pm_action() 85 ret = -ENOTSUP; in devb_pm_action() [all …]
|
/Zephyr-Core-3.5.0/soc/xtensa/intel_adsp/ace/include/intel_ace15_mtpm/ |
D | adsp_power.h | 3 * SPDX-License-Identifier: Apache-2.0 17 /* Power Control register - controls the power domain operations. */ 34 /* Power Status register - reports the power domain status. */ 50 * @brief Power up a specific CPU. 52 * This sets the "not power gating" bit in the power control 53 * register to disable power gating to CPU, thus powering up 60 ACE_PWRCTL->wpdsphpxpg |= BIT(cpu_num); in soc_cpu_power_up() 64 * @brief Power down a specific CPU. 66 * This clears the "not power gating" bit in the power control 67 * register to enable power gating to CPU, thus powering down [all …]
|
/Zephyr-Core-3.5.0/drivers/spi/ |
D | spi_cc13xx_cc26xx.c | 4 * SPDX-License-Identifier: Apache-2.0 21 #include <ti/drivers/Power.h> 22 #include <ti/drivers/power/PowerCC26X2.h> 40 const struct spi_cc13xx_cc26xx_config *cfg = dev->config; in spi_cc13xx_cc26xx_configure() 41 struct spi_cc13xx_cc26xx_data *data = dev->data; in spi_cc13xx_cc26xx_configure() 42 struct spi_context *ctx = &data->ctx; in spi_cc13xx_cc26xx_configure() 50 if (config->operation & SPI_HALF_DUPLEX) { in spi_cc13xx_cc26xx_configure() 51 LOG_ERR("Half-duplex not supported"); in spi_cc13xx_cc26xx_configure() 52 return -ENOTSUP; in spi_cc13xx_cc26xx_configure() 56 if (SPI_OP_MODE_GET(config->operation) != SPI_OP_MODE_MASTER) { in spi_cc13xx_cc26xx_configure() [all …]
|
/Zephyr-Core-3.5.0/drivers/bbram/ |
D | Kconfig.stm32 | 2 # SPDX-License-Identifier: Apache-2.0 5 bool "ST STM32 Battery-backed RAM drivers" 13 STM32 BBRAM are 32-bit registers which can be used for storing user 14 application data. They are implemented in the backup domain that remains 15 powered-on by VBAT when the VDD power is switched off. They are not reset 17 reset by a backup domain reset.
|
/Zephyr-Core-3.5.0/dts/bindings/power/ |
D | nuvoton,npcx-power-psl.yaml | 2 # SPDX-License-Identifier: Apache-2.0 4 description: Nuvoton, NPCX Power Switch Logic (PSL) control node 6 compatible: "nuvoton,npcx-power-psl" 8 include: [base.yaml, pinctrl-device.yaml] 11 enable-gpios: 12 type: phandle-array 15 GPIO to used to turn on/off the Core Domain power supply (VCC1) of NPCX 17 pinctrl-0: 19 pinctrl-names:
|
/Zephyr-Core-3.5.0/dts/bindings/memory-controllers/ |
D | st,stm32-bbram.yaml | 2 # SPDX-License-Identifier: Apache-2.0 7 STM32 BBRAM are 32-bit registers which can be used for storing user 8 application data. They are implemented in the backup domain that remains 9 powered-on by VBAT when the VDD power is switched off. They are not reset 11 reset by a backup domain reset. 13 compatible: "st,stm32-bbram" 18 st,backup-regs:
|
/Zephyr-Core-3.5.0/include/zephyr/drivers/ |
D | bbram.h | 4 * SPDX-License-Identifier: Apache-2.0 35 * @brief API template to check for standby power failure. 43 * @brief API template to check for V CC1 power failure. 87 * Check if "Invalid Battery-Backed RAM" status is set then reset the status bit. This may occur as 91 * @return 0 if the Battery-Backed RAM data is valid, -EFAULT otherwise. 98 (const struct bbram_driver_api *)dev->api; in z_impl_bbram_check_invalid() 100 if (!api->check_invalid) { in z_impl_bbram_check_invalid() 101 return -ENOTSUP; in z_impl_bbram_check_invalid() 104 return api->check_invalid(dev); in z_impl_bbram_check_invalid() 108 * @brief Check for standby (Volt SBY) power failure. [all …]
|
/Zephyr-Core-3.5.0/tests/kernel/device/ |
D | app.overlay | 5 * SPDX-License-Identifier: Apache-2.0 12 * with real-world devicetree nodes, to allow these tests to run on 17 #address-cells = <1>; 18 #size-cells = <1>; 50 reg-names = "chip", 58 power-domain = <&fakedomain_2>; 64 power-domain = <&fakedomain_0>;
|