
Sysfw provides an option for requesting exclusive access for a device using the flags MSG_FLAG_DEVICE_EXCLUSIVE. If this flag is not used, the device is meant to be shared across hosts. Once a device is requested from a host with this flag set, any request to this device from a different host will be nacked by sysfw.
Current tisci firmware and pm drivers always requests for device with exclusive permissions set. But this is not be true for certain devices that are expcted to be shared across different host contexts. So add support for getting the shared or exclusive permissions from DT and request firmware accordingly.
Same bindings are acked in kernel: https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=103447
Also this series adds support for shutting down cores so that R5 cores can be shutdown right after jumping to ATF.
Changes since v2: - Added support for releasing exclusive devices before shutdown - Rebased on top of AM65x EEPROM support: https://patchwork.ozlabs.org/project/uboot/list/?series=111847
Andreas Dannenberg (2): firmware: ti_sci: Add processor shutdown API method armv7R: K3: am654: Shut down R5 core after ATF startup on A53
Lokesh Vutla (7): firmware: ti_sci: Allow for device shared and exclusive requests firmware: ti_sci: Add a command for releasing all exclusive devices armv7R: k3: Release all the exclusive devices power-domain: Add private data to power domain dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access power: domain: ti_sci_power_domains: Add support for exclusive and shared access arm: dts: k3-am654: Update power-domains property for each node
arch/arm/dts/k3-am65-main.dtsi | 10 +- arch/arm/dts/k3-am65-mcu.dtsi | 2 +- arch/arm/dts/k3-am65-wakeup.dtsi | 4 +- arch/arm/dts/k3-am65.dtsi | 1 + arch/arm/dts/k3-am654-base-board-u-boot.dtsi | 2 +- arch/arm/dts/k3-am654-ddr.dtsi | 4 +- arch/arm/dts/k3-am654-r5-base-board.dts | 8 +- arch/arm/mach-k3/am6_init.c | 62 ++++ arch/arm/mach-k3/common.c | 10 +- arch/arm/mach-k3/include/mach/sys_proto.h | 2 +- .../power/ti,sci-pm-domain.txt | 11 +- drivers/firmware/ti_sci.c | 291 +++++++++++++++++- drivers/firmware/ti_sci.h | 50 +++ drivers/power/domain/ti-sci-power-domain.c | 31 +- include/dt-bindings/soc/ti,sci_pm_domain.h | 9 + include/linux/soc/ti/ti_sci_protocol.h | 11 + include/power-domain.h | 15 +- 17 files changed, 483 insertions(+), 40 deletions(-) create mode 100644 include/dt-bindings/soc/ti,sci_pm_domain.h