NVIDIA DRIVE OS Linux API Reference

5.1.3.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
GPCDMA Framework

Detailed Description

Declares the APIs for Quickboot GPCDMA.

Data Structures

struct  GpcdmaChannelContext
 Defines the GPCDMA Channel Context. More...
 
struct  GpcdmaChStatusContext
 Defines the GPCDMA Channel Status Context. More...
 

Macros

#define QB_GPCDMA_DBG(fmt, args...)
 Specifies the enabling of GPCDMA debug messages. More...
 
#define MAX_GPCDMA_CONTROLLERS   1
 Specifies the Maximum GPCDMA controllers. More...
 
#define GPCDMA_MC_OUTSTANDING_REQS   16
 Specifies the MC outstanding requests. More...
 
#define GPCDMA_TRIG_SEL_OFFSET   9
 Specifies the Trigger select offset for Channel(refer CSRE in Register spec) More...
 
#define MIN_GPCDMA_TRIG_SEL   (CHANNEL_0+GPCDMA_TRIG_SEL_OFFSET)
 Specifies the Min Trigger select value. More...
 
#define MAX_GPCDMA_TRIG_SEL   (CHANNEL_31+GPCDMA_TRIG_SEL_OFFSET)
 Specifies the Max Trigger select value. More...
 

Enumerations

enum  ApbSlave {
  GPCDMA_CLIENT0_I2C8,
  GPCDMA_CLIENT1_I2C10,
  GPCDMA_CLIENT2_UARTG,
  GPCDMA_CLIENT3_UARTC,
  GPCDMA_CLIENT4_RSVD,
  GPCDMA_CLIENT5_QSPI,
  GPCDMA_CLIENT6_RSVD,
  GPCDMA_CLIENT7_RSVD,
  GPCDMA_CLIENT8_UARTA,
  GPCDMA_CLIENT9_UARTB,
  GPCDMA_CLIENT10_RSVD,
  GPCDMA_CLIENT11_DTV,
  GPCDMA_CLIENT12_UARTF,
  GPCDMA_CLIENT13_RSVD,
  GPCDMA_CLIENT14_RSVD,
  GPCDMA_CLIENT15_SPI1,
  GPCDMA_CLIENT16_SPI2,
  GPCDMA_CLIENT17_SPI3,
  GPCDMA_CLIENT18_SPI4,
  GPCDMA_CLIENT19_UARTD,
  GPCDMA_CLIENT20_UARTE,
  GPCDMA_CLIENT21_I2C,
  GPCDMA_CLIENT22_I2C2,
  GPCDMA_CLIENT23_I2C3,
  GPCDMA_CLIENT24_I2C5,
  GPCDMA_CLIENT26_I2C4,
  GPCDMA_CLIENT27_I2C7,
  GPCDMA_CLIENT28_RSVD,
  GPCDMA_CLIENT29_RSVD,
  GPCDMA_CLIENT30_I2C6,
  GPCDMA_CLIENT31_I2C9,
  MAX_APB_SLAVES
}
 Defines the GPCDMA clients. More...
 
enum  GpcDmaChannel {
  CHANNEL_0,
  CHANNEL_1,
  CHANNEL_2,
  CHANNEL_3,
  CHANNEL_4,
  CHANNEL_5,
  CHANNEL_6,
  CHANNEL_7,
  CHANNEL_8,
  CHANNEL_9,
  CHANNEL_10,
  CHANNEL_11,
  CHANNEL_12,
  CHANNEL_13,
  CHANNEL_14,
  CHANNEL_15,
  CHANNEL_16,
  CHANNEL_17,
  CHANNEL_18,
  CHANNEL_19,
  CHANNEL_20,
  CHANNEL_21,
  CHANNEL_22,
  CHANNEL_23,
  CHANNEL_24,
  CHANNEL_25,
  CHANNEL_26,
  CHANNEL_27,
  CHANNEL_28,
  CHANNEL_29,
  CHANNEL_30,
  CHANNEL_31,
  MAX_DMA_CHANNELS,
  CHANNEL_UNUSED
}
 Defines the GPCDMA channels. More...
 
enum  XferMode {
  IO2MEM_NO_FC,
  IO2MEM_FC,
  MEM2IO_NO_FC,
  MEM2IO_FC,
  MEM2MEM,
  XFER_RSVD,
  FIXEDPAT,
  MAX_XFER_MODE
}
 Defines the GPCDMA Mode of Transfer. More...
 
enum  GpcDmaChStatus {
  GPCDMA_CH_STATE_UNDEFINED,
  GPCDMA_CH_STATE_PENDING,
  GPCDMA_CH_STATE_IN_PROGRESS,
  GPCDMA_CH_STATE_DONE,
  MAX_GPCDMA_CH_STATE
}
 Defines the GPCDMA State of Transfer. More...
 

Functions

NvError QbGpcdmaInit (void)
 GPCDMA driver initialization function called during QB initialization. More...
 

Macro Definition Documentation

#define GPCDMA_MC_OUTSTANDING_REQS   16

Specifies the MC outstanding requests.

Definition at line 44 of file gpc_dma.h.

#define GPCDMA_TRIG_SEL_OFFSET   9

Specifies the Trigger select offset for Channel(refer CSRE in Register spec)

Definition at line 47 of file gpc_dma.h.

#define MAX_GPCDMA_CONTROLLERS   1

Specifies the Maximum GPCDMA controllers.

Definition at line 42 of file gpc_dma.h.

#define MAX_GPCDMA_TRIG_SEL   (CHANNEL_31+GPCDMA_TRIG_SEL_OFFSET)

Specifies the Max Trigger select value.

Definition at line 51 of file gpc_dma.h.

#define MIN_GPCDMA_TRIG_SEL   (CHANNEL_0+GPCDMA_TRIG_SEL_OFFSET)

Specifies the Min Trigger select value.

Definition at line 49 of file gpc_dma.h.

#define QB_GPCDMA_DBG (   fmt,
  args... 
)

Specifies the enabling of GPCDMA debug messages.

Definition at line 38 of file gpc_dma.h.

Enumeration Type Documentation

enum ApbSlave

Defines the GPCDMA clients.

Enumerator
GPCDMA_CLIENT0_I2C8 
GPCDMA_CLIENT1_I2C10 
GPCDMA_CLIENT2_UARTG 
GPCDMA_CLIENT3_UARTC 
GPCDMA_CLIENT4_RSVD 
GPCDMA_CLIENT5_QSPI 
GPCDMA_CLIENT6_RSVD 
GPCDMA_CLIENT7_RSVD 
GPCDMA_CLIENT8_UARTA 
GPCDMA_CLIENT9_UARTB 
GPCDMA_CLIENT10_RSVD 
GPCDMA_CLIENT11_DTV 
GPCDMA_CLIENT12_UARTF 
GPCDMA_CLIENT13_RSVD 
GPCDMA_CLIENT14_RSVD 
GPCDMA_CLIENT15_SPI1 
GPCDMA_CLIENT16_SPI2 
GPCDMA_CLIENT17_SPI3 
GPCDMA_CLIENT18_SPI4 
GPCDMA_CLIENT19_UARTD 
GPCDMA_CLIENT20_UARTE 
GPCDMA_CLIENT21_I2C 
GPCDMA_CLIENT22_I2C2 
GPCDMA_CLIENT23_I2C3 
GPCDMA_CLIENT24_I2C5 
GPCDMA_CLIENT26_I2C4 
GPCDMA_CLIENT27_I2C7 
GPCDMA_CLIENT28_RSVD 
GPCDMA_CLIENT29_RSVD 
GPCDMA_CLIENT30_I2C6 
GPCDMA_CLIENT31_I2C9 
MAX_APB_SLAVES 

Definition at line 56 of file gpc_dma.h.

Defines the GPCDMA channels.

Enumerator
CHANNEL_0 
CHANNEL_1 
CHANNEL_2 
CHANNEL_3 
CHANNEL_4 
CHANNEL_5 
CHANNEL_6 
CHANNEL_7 
CHANNEL_8 
CHANNEL_9 
CHANNEL_10 
CHANNEL_11 
CHANNEL_12 
CHANNEL_13 
CHANNEL_14 
CHANNEL_15 
CHANNEL_16 
CHANNEL_17 
CHANNEL_18 
CHANNEL_19 
CHANNEL_20 
CHANNEL_21 
CHANNEL_22 
CHANNEL_23 
CHANNEL_24 
CHANNEL_25 
CHANNEL_26 
CHANNEL_27 
CHANNEL_28 
CHANNEL_29 
CHANNEL_30 
CHANNEL_31 
MAX_DMA_CHANNELS 
CHANNEL_UNUSED 

Definition at line 100 of file gpc_dma.h.

Defines the GPCDMA State of Transfer.

Note : This is used only during Chaining of channels

Enumerator
GPCDMA_CH_STATE_UNDEFINED 

Specifies UNDEFINED channel state, this is the state when no DMA is initiated in the channel.

GPCDMA_CH_STATE_PENDING 

Specifies DMA pending channel state.

GPCDMA_CH_STATE_IN_PROGRESS 

Specifies DMA in progress channel state.

GPCDMA_CH_STATE_DONE 

Specifies DMA Done channel state.

MAX_GPCDMA_CH_STATE 

Specifies Maximum value for channel state Channel state should never be read as this value.

Definition at line 165 of file gpc_dma.h.

enum XferMode

Defines the GPCDMA Mode of Transfer.

Enumerator
IO2MEM_NO_FC 

Specifies DMA from IO Device to Memory with no flow control.

IO2MEM_FC 

Specifies DMA from IO Device to Memory with flow control.

MEM2IO_NO_FC 

Specifies DMA from Memory to IO Device with no flow control.

MEM2IO_FC 

Specifies DMA from Memory to IO Device with flow control.

MEM2MEM 

Specifies DMA from Memory to Memory.

XFER_RSVD 

Specifies Reserved DMA mode.

FIXEDPAT 

Specifies Fixed Pattern DMA mode.

MAX_XFER_MODE 

Specifies Maximum value for DMA mode.

Definition at line 141 of file gpc_dma.h.

Function Documentation

NvError QbGpcdmaInit ( void  )

GPCDMA driver initialization function called during QB initialization.

This function calls QbRegisterDriver to register GPCDMA driver to QB driver frame work

Returns
NvSuccess if successful, or the appropriate error code.