cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

menelaus.h (1284B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * Functions to access Menelaus power management chip
      4 */
      5
      6#ifndef __ASM_ARCH_MENELAUS_H
      7#define __ASM_ARCH_MENELAUS_H
      8
      9struct device;
     10
     11struct menelaus_platform_data {
     12	int (* late_init)(struct device *dev);
     13};
     14
     15extern int menelaus_register_mmc_callback(void (*callback)(void *data, u8 card_mask),
     16					  void *data);
     17extern void menelaus_unregister_mmc_callback(void);
     18extern int menelaus_set_mmc_opendrain(int slot, int enable);
     19extern int menelaus_set_mmc_slot(int slot, int enable, int power, int cd_on);
     20
     21extern int menelaus_set_vmem(unsigned int mV);
     22extern int menelaus_set_vio(unsigned int mV);
     23extern int menelaus_set_vmmc(unsigned int mV);
     24extern int menelaus_set_vaux(unsigned int mV);
     25extern int menelaus_set_vdcdc(int dcdc, unsigned int mV);
     26extern int menelaus_set_slot_sel(int enable);
     27extern int menelaus_get_slot_pin_states(void);
     28extern int menelaus_set_vcore_hw(unsigned int roof_mV, unsigned int floor_mV);
     29
     30#define EN_VPLL_SLEEP	(1 << 7)
     31#define EN_VMMC_SLEEP	(1 << 6)
     32#define EN_VAUX_SLEEP	(1 << 5)
     33#define EN_VIO_SLEEP	(1 << 4)
     34#define EN_VMEM_SLEEP	(1 << 3)
     35#define EN_DC3_SLEEP	(1 << 2)
     36#define EN_DC2_SLEEP	(1 << 1)
     37#define EN_VC_SLEEP	(1 << 0)
     38
     39extern int menelaus_set_regulator_sleep(int enable, u32 val);
     40
     41#endif