162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * AT91 Power Management
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2005 David Brownell
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci#ifndef __ARCH_ARM_MACH_AT91_PM
862306a36Sopenharmony_ci#define __ARCH_ARM_MACH_AT91_PM
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci#include <asm/proc-fns.h>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#include <linux/mfd/syscon/atmel-mc.h>
1362306a36Sopenharmony_ci#include <soc/at91/at91sam9_ddrsdr.h>
1462306a36Sopenharmony_ci#include <soc/at91/at91sam9_sdramc.h>
1562306a36Sopenharmony_ci#include <soc/at91/sama7-ddr.h>
1662306a36Sopenharmony_ci#include <soc/at91/sama7-sfrbu.h>
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci#define AT91_MEMCTRL_MC		0
1962306a36Sopenharmony_ci#define AT91_MEMCTRL_SDRAMC	1
2062306a36Sopenharmony_ci#define AT91_MEMCTRL_DDRSDR	2
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci#define	AT91_PM_STANDBY		0x00
2362306a36Sopenharmony_ci#define AT91_PM_ULP0		0x01
2462306a36Sopenharmony_ci#define AT91_PM_ULP0_FAST	0x02
2562306a36Sopenharmony_ci#define AT91_PM_ULP1		0x03
2662306a36Sopenharmony_ci#define	AT91_PM_BACKUP		0x04
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci#ifndef __ASSEMBLY__
2962306a36Sopenharmony_cistruct at91_pm_data {
3062306a36Sopenharmony_ci	void __iomem *pmc;
3162306a36Sopenharmony_ci	void __iomem *ramc[2];
3262306a36Sopenharmony_ci	void __iomem *ramc_phy;
3362306a36Sopenharmony_ci	unsigned long uhp_udp_mask;
3462306a36Sopenharmony_ci	unsigned int memctrl;
3562306a36Sopenharmony_ci	unsigned int mode;
3662306a36Sopenharmony_ci	void __iomem *shdwc;
3762306a36Sopenharmony_ci	void __iomem *sfrbu;
3862306a36Sopenharmony_ci	unsigned int standby_mode;
3962306a36Sopenharmony_ci	unsigned int suspend_mode;
4062306a36Sopenharmony_ci	unsigned int pmc_mckr_offset;
4162306a36Sopenharmony_ci	unsigned int pmc_version;
4262306a36Sopenharmony_ci};
4362306a36Sopenharmony_ci#endif
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci#endif
46