libnx  v4.2.2
Enumerations | Functions
pcv.h File Reference

PCV service IPC wrapper. More...

#include "../types.h"
#include "../sf/service.h"

Go to the source code of this file.

Enumerations

enum  PcvModule {
  PcvModule_CpuBus = 0,
  PcvModule_GPU = 1,
  PcvModule_I2S1 = 2,
  PcvModule_I2S2 = 3,
  PcvModule_I2S3 = 4,
  PcvModule_PWM = 5,
  PcvModule_I2C1 = 6,
  PcvModule_I2C2 = 7,
  PcvModule_I2C3 = 8,
  PcvModule_I2C4 = 9,
  PcvModule_I2C5 = 10,
  PcvModule_I2C6 = 11,
  PcvModule_SPI1 = 12,
  PcvModule_SPI2 = 13,
  PcvModule_SPI3 = 14,
  PcvModule_SPI4 = 15,
  PcvModule_DISP1 = 16,
  PcvModule_DISP2 = 17,
  PcvModule_ISP = 18,
  PcvModule_VI = 19,
  PcvModule_SDMMC1 = 20,
  PcvModule_SDMMC2 = 21,
  PcvModule_SDMMC3 = 22,
  PcvModule_SDMMC4 = 23,
  PcvModule_OWR = 24,
  PcvModule_CSITE = 25,
  PcvModule_TSEC = 26,
  PcvModule_MSELECT = 27,
  PcvModule_HDA2CODEC_2X = 28,
  PcvModule_ACTMON = 29,
  PcvModule_I2C_SLOW = 30,
  PcvModule_SOR1 = 31,
  PcvModule_SATA = 32,
  PcvModule_HDA = 33,
  PcvModule_XUSB_CORE_HOST = 34,
  PcvModule_XUSB_FALCON = 35,
  PcvModule_XUSB_FS = 36,
  PcvModule_XUSB_CORE_DEV = 37,
  PcvModule_XUSB_SS_HOSTDEV = 38,
  PcvModule_UARTA = 39,
  PcvModule_UARTB = 40,
  PcvModule_UARTC = 41,
  PcvModule_UARTD = 42,
  PcvModule_HOST1X = 43,
  PcvModule_ENTROPY = 44,
  PcvModule_SOC_THERM = 45,
  PcvModule_VIC = 46,
  PcvModule_NVENC = 47,
  PcvModule_NVJPG = 48,
  PcvModule_NVDEC = 49,
  PcvModule_QSPI = 50,
  PcvModule_VI_I2C = 51,
  PcvModule_TSECB = 52,
  PcvModule_APE = 53,
  PcvModule_ACLK = 54,
  PcvModule_UARTAPE = 55,
  PcvModule_EMC = 56,
  PcvModule_PLLE0_0 = 57,
  PcvModule_PLLE0_1 = 58,
  PcvModule_DSI = 59,
  PcvModule_MAUD = 60,
  PcvModule_DPAUX1 = 61,
  PcvModule_MIPI_CAL = 62,
  PcvModule_UART_FST_MIPI_CAL = 63,
  PcvModule_OSC = 64,
  PcvModule_SCLK = 65,
  PcvModule_SOR_SAFE = 66,
  PcvModule_XUSB_SS = 67,
  PcvModule_XUSB_HOST = 68,
  PcvModule_XUSB_DEV = 69,
  PcvModule_EXTPERIPH1 = 70,
  PcvModule_AHUB = 71,
  PcvModule_HDA2HDMICODEC = 72,
  PcvModule_PLLP5 = 73,
  PcvModule_USBD = 74,
  PcvModule_USB2 = 75,
  PcvModule_PCIE = 76,
  PcvModule_AFI = 77,
  PcvModule_PCIEXCLK = 78,
  PcvModule_PEX_USB_UPHY = 79,
  PcvModule_XUSB_PADCTL = 80,
  PcvModule_APBDMA = 81,
  PcvModule_USB2_TRK = 82,
  PcvModule_PLLE0_2 = 83,
  PcvModule_PLLE0_3 = 84,
  PcvModule_CEC = 85,
  PcvModule_EXTPERIPH2 = 86,
  PcvModule_Count
}
 
enum  PcvModuleId {
  PcvModuleId_CpuBus = 0x40000001,
  PcvModuleId_GPU = 0x40000002,
  PcvModuleId_I2S1 = 0x40000003,
  PcvModuleId_I2S2 = 0x40000004,
  PcvModuleId_I2S3 = 0x40000005,
  PcvModuleId_PWM = 0x40000006,
  PcvModuleId_I2C1 = 0x02000001,
  PcvModuleId_I2C2 = 0x02000002,
  PcvModuleId_I2C3 = 0x02000003,
  PcvModuleId_I2C4 = 0x02000004,
  PcvModuleId_I2C5 = 0x02000005,
  PcvModuleId_I2C6 = 0x02000006,
  PcvModuleId_SPI1 = 0x07000000,
  PcvModuleId_SPI2 = 0x07000001,
  PcvModuleId_SPI3 = 0x07000002,
  PcvModuleId_SPI4 = 0x07000003,
  PcvModuleId_DISP1 = 0x40000011,
  PcvModuleId_DISP2 = 0x40000012,
  PcvModuleId_ISP = 0x40000013,
  PcvModuleId_VI = 0x40000014,
  PcvModuleId_SDMMC1 = 0x40000015,
  PcvModuleId_SDMMC2 = 0x40000016,
  PcvModuleId_SDMMC3 = 0x40000017,
  PcvModuleId_SDMMC4 = 0x40000018,
  PcvModuleId_OWR = 0x40000019,
  PcvModuleId_CSITE = 0x4000001A,
  PcvModuleId_TSEC = 0x4000001B,
  PcvModuleId_MSELECT = 0x4000001C,
  PcvModuleId_HDA2CODEC_2X = 0x4000001D,
  PcvModuleId_ACTMON = 0x4000001E,
  PcvModuleId_I2C_SLOW = 0x4000001F,
  PcvModuleId_SOR1 = 0x40000020,
  PcvModuleId_SATA = 0x40000021,
  PcvModuleId_HDA = 0x40000022,
  PcvModuleId_XUSB_CORE_HOST = 0x40000023,
  PcvModuleId_XUSB_FALCON = 0x40000024,
  PcvModuleId_XUSB_FS = 0x40000025,
  PcvModuleId_XUSB_CORE_DEV = 0x40000026,
  PcvModuleId_XUSB_SS_HOSTDEV = 0x40000027,
  PcvModuleId_UARTA = 0x03000001,
  PcvModuleId_UARTB = 0x35000405,
  PcvModuleId_UARTC = 0x3500040F,
  PcvModuleId_UARTD = 0x37000001,
  PcvModuleId_HOST1X = 0x4000002C,
  PcvModuleId_ENTROPY = 0x4000002D,
  PcvModuleId_SOC_THERM = 0x4000002E,
  PcvModuleId_VIC = 0x4000002F,
  PcvModuleId_NVENC = 0x40000030,
  PcvModuleId_NVJPG = 0x40000031,
  PcvModuleId_NVDEC = 0x40000032,
  PcvModuleId_QSPI = 0x40000033,
  PcvModuleId_VI_I2C = 0x40000034,
  PcvModuleId_TSECB = 0x40000035,
  PcvModuleId_APE = 0x40000036,
  PcvModuleId_ACLK = 0x40000037,
  PcvModuleId_UARTAPE = 0x40000038,
  PcvModuleId_EMC = 0x40000039,
  PcvModuleId_PLLE0_0 = 0x4000003A,
  PcvModuleId_PLLE0_1 = 0x4000003B,
  PcvModuleId_DSI = 0x4000003C,
  PcvModuleId_MAUD = 0x4000003D,
  PcvModuleId_DPAUX1 = 0x4000003E,
  PcvModuleId_MIPI_CAL = 0x4000003F,
  PcvModuleId_UART_FST_MIPI_CAL = 0x40000040,
  PcvModuleId_OSC = 0x40000041,
  PcvModuleId_SCLK = 0x40000042,
  PcvModuleId_SOR_SAFE = 0x40000043,
  PcvModuleId_XUSB_SS = 0x40000044,
  PcvModuleId_XUSB_HOST = 0x40000045,
  PcvModuleId_XUSB_DEV = 0x40000046,
  PcvModuleId_EXTPERIPH1 = 0x40000047,
  PcvModuleId_AHUB = 0x40000048,
  PcvModuleId_HDA2HDMICODEC = 0x40000049,
  PcvModuleId_PLLP5 = 0x4000004A,
  PcvModuleId_USBD = 0x4000004B,
  PcvModuleId_USB2 = 0x4000004C,
  PcvModuleId_PCIE = 0x4000004D,
  PcvModuleId_AFI = 0x4000004E,
  PcvModuleId_PCIEXCLK = 0x4000004F,
  PcvModuleId_PEX_USB_UPHY = 0x40000050,
  PcvModuleId_XUSB_PADCTL = 0x40000051,
  PcvModuleId_APBDMA = 0x40000052,
  PcvModuleId_USB2_TRK = 0x40000053,
  PcvModuleId_PLLE0_2 = 0x40000054,
  PcvModuleId_PLLE0_3 = 0x40000055,
  PcvModuleId_CEC = 0x40000056,
  PcvModuleId_EXTPERIPH2 = 0x40000057
}
 Module id returned by [8.0.0+] pcv services See also: https://switchbrew.org/wiki/PCV_services#Modules.
 

Functions

Result pcvInitialize (void)
 Initialize pcv.
 
void pcvExit (void)
 Exit pcv.
 
ServicepcvGetServiceSession (void)
 Gets the Service object for the actual pcv service session.
 
Result pcvGetModuleId (PcvModuleId *module_id, PcvModule module)
 
Result pcvGetClockRate (PcvModule module, u32 *out_hz)
 Only available on [1.0.0-7.0.1].
 
Result pcvSetClockRate (PcvModule module, u32 hz)
 Only available on [1.0.0-7.0.1].
 
Result pcvSetVoltageEnabled (u32 power_domain, bool state)
 Only available on [1.0.0-7.0.1].
 
Result pcvGetVoltageEnabled (bool *isEnabled, u32 power_domain)
 Only available on [1.0.0-7.0.1].
 

Detailed Description

PCV service IPC wrapper.

Author
SciresM