Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Header for ZTE's Power Domain Driver support
 *
 * Copyright (C) 2017 ZTE Ltd.
 *
 * Author: Baoyou Xie <baoyou.xie@linaro.org>
 */

#ifndef __ZTE_ZX2967_PM_DOMAIN_H
#define __ZTE_ZX2967_PM_DOMAIN_H

#include <linux/platform_device.h>
#include <linux/pm_domain.h>

enum {
	REG_CLKEN,
	REG_ISOEN,
	REG_RSTEN,
	REG_PWREN,
	REG_PWRDN,
	REG_ACK_SYNC,

	/* The size of the array - must be last */
	REG_ARRAY_SIZE,
};

enum zx2967_power_polarity {
	PWREN,
	PWRDN,
};

struct zx2967_pm_domain {
	struct generic_pm_domain dm;
	const u16 bit;
	const enum zx2967_power_polarity polarity;
	const u16 *reg_offset;
};

int zx2967_pd_probe(struct platform_device *pdev,
		    struct generic_pm_domain **zx_pm_domains,
		    int domain_num);

#endif /* __ZTE_ZX2967_PM_DOMAIN_H */