brintos

brintos / linux-shallow public Read only

0
0
Text · 1.7 KiB · f1166d1 Raw
74 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/*3 * AMD SoC Power Management Controller Driver4 *5 * Copyright (c) 2023, Advanced Micro Devices, Inc.6 * All Rights Reserved.7 *8 * Author: Mario Limonciello <mario.limonciello@amd.com>9 */10 11#ifndef PMC_H12#define PMC_H13 14#include <linux/types.h>15#include <linux/mutex.h>16 17struct amd_mp2_dev {18	void __iomem *mmio;19	void __iomem *vslbase;20	void *stbdata;21	void *devres_gid;22	struct pci_dev *pdev;23	dma_addr_t dma_addr;24	int stb_len;25	bool is_stb_data;26};27 28struct amd_pmc_dev {29	void __iomem *regbase;30	void __iomem *smu_virt_addr;31	void __iomem *stb_virt_addr;32	void __iomem *fch_virt_addr;33	bool msg_port;34	u32 base_addr;35	u32 cpu_id;36	u32 active_ips;37	u32 dram_size;38	u32 num_ips;39	u32 s2d_msg_id;40	u32 smu_msg;41/* SMU version information */42	u8 smu_program;43	u8 major;44	u8 minor;45	u8 rev;46	struct device *dev;47	struct pci_dev *rdev;48	struct mutex lock; /* generic mutex lock */49	struct dentry *dbgfs_dir;50	struct quirk_entry *quirks;51	bool disable_8042_wakeup;52	struct amd_mp2_dev *mp2;53};54 55void amd_pmc_process_restore_quirks(struct amd_pmc_dev *dev);56void amd_pmc_quirks_init(struct amd_pmc_dev *dev);57void amd_mp2_stb_init(struct amd_pmc_dev *dev);58void amd_mp2_stb_deinit(struct amd_pmc_dev *dev);59 60/* List of supported CPU ids */61#define AMD_CPU_ID_RV			0x15D062#define AMD_CPU_ID_RN			0x163063#define AMD_CPU_ID_PCO			AMD_CPU_ID_RV64#define AMD_CPU_ID_CZN			AMD_CPU_ID_RN65#define AMD_CPU_ID_YC			0x14B566#define AMD_CPU_ID_CB			0x14D867#define AMD_CPU_ID_PS			0x14E868#define AMD_CPU_ID_SP			0x14A469#define PCI_DEVICE_ID_AMD_1AH_M20H_ROOT 0x150770#define PCI_DEVICE_ID_AMD_1AH_M60H_ROOT 0x112271#define PCI_DEVICE_ID_AMD_MP2_STB	0x172c72 73#endif /* PMC_H */74