zephyr/include/drivers
Carlo Caione 0f9406277d aarch64: pm_cpu_ops: Introduce pm_cpu_ops subsystem
AArch64 has support for PSCI. This is especially useful for SMP because
PSCI is used to power on the secordary cores.

When the PSCI driver was introduced in Zephyr it was designed to rely on
a very PSCI-centric subsystem / interface.

There are two kinds of problems with this choice:

1. PSCI is only defined for the non-secure world and it is designed to
   boot CPU cores into non-secure state (that means that PSCI is only
   supposed to work if Zephyr is running in non-secure state)

2. There can be other ways or standards used to start / stop a core
   different from PSCI

This patch is trying to fix the original wrong assumption by making the
interface / subsystem a generic one, called 'pm_cpu_ops', and using PSCI
only as an actual driver that is a user of this new interface /
subsystem.

For now the new subsystem is only exposing two methods: cpu_on and
cpu_off, others will probably follow according to the needs.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-03-04 06:53:19 -05:00
..
adc device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
bluetooth device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
clock_control soc: stm32: convert to use DEVICE_DT_GET for clocks 2021-02-16 17:01:37 -06:00
console drivers: modem: gsm_ppp: Enable start/stop 2020-10-19 18:29:02 +02:00
dma drivers/dma: stm32: Preparation for QSPI DMA mode support 2021-01-15 10:29:30 -05:00
ec_host_cmd_periph ec_host_cmd_periph: add device API 2020-09-04 14:50:45 -04:00
gpio drivers: Dev. spec. PWM functionality for SX1509B 2021-01-08 15:52:42 +01:00
i2c/slave Revert "drivers: move eeprom_slave driver to tests directory" 2020-12-16 16:39:49 -05:00
ieee802154 zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
interrupt_controller drivers/interrupt_controller: stm32: Make use of DEVICE_DT API 2021-02-17 14:26:23 -06:00
led device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
modem drivers: modem: add Sierra Wireless HL7800 Modem Driver 2020-08-31 10:46:33 +02:00
pcie drivers: pcie: Introduce API to look up devices by ID 2021-02-15 08:23:05 -05:00
pm_cpu_ops aarch64: pm_cpu_ops: Introduce pm_cpu_ops subsystem 2021-03-04 06:53:19 -05:00
rtc doc: fix @param usage in callbacks 2020-12-18 12:18:28 +01:00
sensor drivers: sensor: add NXP MCUX ACMP driver 2020-12-17 08:54:33 -06:00
timer dts: Rename compatible arm,arm-timer to arm,armv8-timer 2021-02-04 07:04:28 -05:00
uart doc: fix @param usage in callbacks 2020-12-18 12:18:28 +01:00
usb code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
virtualization drivers/virtualization: Make ivshmem driver userspace ready 2020-12-16 18:47:35 -05:00
adc.h drivers: adc: update to conform to API guidelines 2021-01-15 09:50:40 -05:00
can.h Update can_common: Check bitrate is greater than 0 2021-01-12 15:11:18 -06:00
clock_control.h include: clock_control: Fix int return value 2021-02-17 14:28:50 +01:00
counter.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
dac.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
display.h drivers: display: Added support for restricted update. 2021-01-21 17:26:37 +01:00
dma.h drivers: Manual const-ification of device driver instance 2020-09-02 13:48:13 +02:00
ec_host_cmd_periph.h ec_host_cmd_periph: add device API 2020-09-04 14:50:45 -04:00
edac.h edac: doc: Include EDAC API to Zephyr API Reference 2021-01-21 08:34:07 -05:00
eeprom.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
entropy.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
espi_emul.h emul: Add an emulator for the eSPI Host 2021-01-20 17:49:19 -05:00
espi_saf.h drivers: espi: Microchip eSPI add SAF support 2021-02-15 08:22:01 -05:00
espi.h driver: espi: add notification and opcodes for ec host command support. 2020-12-20 13:05:50 -05:00
flash.h doc/reference/peripherals/flash: extract internal API doc 2020-10-27 12:52:07 +01:00
gna.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
gpio.h gpio: clean up flags related to logical initialization 2021-02-17 09:11:29 -06:00
gsm_ppp.h drivers: gsm: Add GSM modem device name 2020-10-19 18:29:02 +02:00
hwinfo.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_emul.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
i2c.h drivers: i2c: document slave API 2021-02-09 13:59:17 -05:00
i2s.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
ipm.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
kscan.h doc: fix @param usage in callbacks 2020-12-18 12:18:28 +01:00
led_strip.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
led.h include: drivers: add missing extern "C" in led.h and lora.h 2020-11-17 13:08:47 +02:00
lora.h include: drivers: add missing extern "C" in led.h and lora.h 2020-11-17 13:08:47 +02:00
peci.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
pinmux.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
pm_cpu_ops.h aarch64: pm_cpu_ops: Introduce pm_cpu_ops subsystem 2021-03-04 06:53:19 -05:00
ps2.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
pwm.h drivers: pwm: clean up the PWM capture API documentation 2021-01-19 08:09:16 -05:00
regulator.h drivers: add infrastructure for regulator devices 2020-10-28 15:22:53 +01:00
sensor.h doc: fix @param usage in callbacks 2020-12-18 12:18:28 +01:00
spi_emul.h emul: spi: Add support for SPI emulators 2020-10-05 15:33:00 -04:00
spi.h drivers: spi: add helpers for initializing from DT 2021-02-23 10:34:19 -05:00
uart.h include: drivers: uart: fix incorrect event name in brief 2021-02-03 09:44:21 -05:00
video-controls.h drivers: Add video API 2019-10-25 15:13:53 -05:00
video.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
watchdog.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00