help
Generic power domain implementation for TI K3 devices.
+config TI_OMAP_PRM_POWER_DOMAIN
+ bool "Enable the TI OMAP PRM power domain driver"
+ depends on POWER_DOMAIN && ARCH_OMAP2PLUS
+ help
+ Enable support for TI OMAP Power and Reset Manager (PRM) power domains.
+ The driver is currently a stub to be able to probe devices that
+ require this type of power domain device.
+
config ZYNQMP_POWER_DOMAIN
bool "Enable the Xilinx ZynqMP Power domain driver"
depends on POWER_DOMAIN && ZYNQMP_FIRMWARE
obj-$(CONFIG_TEGRA186_POWER_DOMAIN) += tegra186-power-domain.o
obj-$(CONFIG_TI_SCI_POWER_DOMAIN) += ti-sci-power-domain.o
obj-$(CONFIG_TI_POWER_DOMAIN) += ti-power-domain.o
+obj-$(CONFIG_TI_OMAP_PRM_POWER_DOMAIN) += ti-omap-prm.o
obj-$(CONFIG_ZYNQMP_POWER_DOMAIN) += zynqmp-power-domain.o
--- /dev/null
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * TI OMAP PRM (Power and Reset Manager) power domain driver
+ *
+ * Stub driver to provide power domain support.
+ */
+
+#include <dm.h>
+#include <power-domain-uclass.h>
+
+static int ti_omap_prm_xlate(struct power_domain *power_domain,
+ struct ofnode_phandle_args *args)
+{
+ if (args->args_count != 0)
+ return -EINVAL;
+
+ return 0;
+}
+
+static const struct udevice_id ti_omap_prm_ids[] = {
+ { .compatible = "ti,am3-prm-inst" },
+ { .compatible = "ti,am4-prm-inst" },
+ { .compatible = "ti,omap-prm-inst" },
+ { }
+};
+
+static struct power_domain_ops ti_omap_prm_ops = {
+ .of_xlate = ti_omap_prm_xlate,
+};
+
+U_BOOT_DRIVER(ti_omap_prm) = {
+ .name = "ti-omap-prm",
+ .id = UCLASS_POWER_DOMAIN,
+ .of_match = ti_omap_prm_ids,
+ .ops = &ti_omap_prm_ops,
+};