imx: power-domain: Get rid of SMCCC dependency
authorMarek Vasut <marex@denx.de>
Tue, 12 Apr 2022 22:42:51 +0000 (00:42 +0200)
committerStefano Babic <sbabic@denx.de>
Thu, 21 Apr 2022 10:44:23 +0000 (12:44 +0200)
commit4eb82c2e56a7cd68b74c3a21de5c79ea80c5dcd6
tree0c83af2dc1b8dcb55052f380797dd1b4548263bb
parent19842b6a20f3205c40f868f9d0a787f7ed5c9f18
imx: power-domain: Get rid of SMCCC dependency

This driver is the only SMCCC dependency in iMX8M U-Boot port. Rework
the driver based on Linux GPCv2 driver to directly control the GPCv2
block instead of using SMCCC calls. This way, U-Boot can operate the
i.MX8M power domains without depending on anything else.

This is losely based on Linux GPCv2 driver. The GPU, VPU, MIPI power
domains are not supported to save space, since they are not useful in
the bootloader. The only domains kept are ones for HSIO, PCIe, USB.

Tested-By: Tim Harvey <tharvey@gateworks.com> #imx8mp-venice-defconfig
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
drivers/power/domain/Kconfig
drivers/power/domain/imx8m-power-domain.c