74 lines
1.7 KiB
C
74 lines
1.7 KiB
C
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||
|
/*
|
||
|
* AMD SoC Power Management Controller Driver
|
||
|
*
|
||
|
* Copyright (c) 2023, Advanced Micro Devices, Inc.
|
||
|
* All Rights Reserved.
|
||
|
*
|
||
|
* Author: Mario Limonciello <mario.limonciello@amd.com>
|
||
|
*/
|
||
|
|
||
|
#ifndef PMC_H
|
||
|
#define PMC_H
|
||
|
|
||
|
#include <linux/types.h>
|
||
|
#include <linux/mutex.h>
|
||
|
|
||
|
struct amd_mp2_dev {
|
||
|
void __iomem *mmio;
|
||
|
void __iomem *vslbase;
|
||
|
void *stbdata;
|
||
|
void *devres_gid;
|
||
|
struct pci_dev *pdev;
|
||
|
dma_addr_t dma_addr;
|
||
|
int stb_len;
|
||
|
bool is_stb_data;
|
||
|
};
|
||
|
|
||
|
struct amd_pmc_dev {
|
||
|
void __iomem *regbase;
|
||
|
void __iomem *smu_virt_addr;
|
||
|
void __iomem *stb_virt_addr;
|
||
|
void __iomem *fch_virt_addr;
|
||
|
bool msg_port;
|
||
|
u32 base_addr;
|
||
|
u32 cpu_id;
|
||
|
u32 active_ips;
|
||
|
u32 dram_size;
|
||
|
u32 num_ips;
|
||
|
u32 s2d_msg_id;
|
||
|
u32 smu_msg;
|
||
|
/* SMU version information */
|
||
|
u8 smu_program;
|
||
|
u8 major;
|
||
|
u8 minor;
|
||
|
u8 rev;
|
||
|
struct device *dev;
|
||
|
struct pci_dev *rdev;
|
||
|
struct mutex lock; /* generic mutex lock */
|
||
|
struct dentry *dbgfs_dir;
|
||
|
struct quirk_entry *quirks;
|
||
|
bool disable_8042_wakeup;
|
||
|
struct amd_mp2_dev *mp2;
|
||
|
};
|
||
|
|
||
|
void amd_pmc_process_restore_quirks(struct amd_pmc_dev *dev);
|
||
|
void amd_pmc_quirks_init(struct amd_pmc_dev *dev);
|
||
|
void amd_mp2_stb_init(struct amd_pmc_dev *dev);
|
||
|
void amd_mp2_stb_deinit(struct amd_pmc_dev *dev);
|
||
|
|
||
|
/* List of supported CPU ids */
|
||
|
#define AMD_CPU_ID_RV 0x15D0
|
||
|
#define AMD_CPU_ID_RN 0x1630
|
||
|
#define AMD_CPU_ID_PCO AMD_CPU_ID_RV
|
||
|
#define AMD_CPU_ID_CZN AMD_CPU_ID_RN
|
||
|
#define AMD_CPU_ID_YC 0x14B5
|
||
|
#define AMD_CPU_ID_CB 0x14D8
|
||
|
#define AMD_CPU_ID_PS 0x14E8
|
||
|
#define AMD_CPU_ID_SP 0x14A4
|
||
|
#define PCI_DEVICE_ID_AMD_1AH_M20H_ROOT 0x1507
|
||
|
#define PCI_DEVICE_ID_AMD_1AH_M60H_ROOT 0x1122
|
||
|
#define PCI_DEVICE_ID_AMD_MP2_STB 0x172c
|
||
|
|
||
|
#endif /* PMC_H */
|