xWRL6432 MMWAVE-L-SDK  05.04.00.01

Introduction

This module contains APIs to program and use the pinmux module.

Files

file  pinmux/v0/pinmux.h
 PINMUX Driver API/interface file.
 

Data Structures

struct  Pinmux_PerCfg_t
 Structure defining the pin configuration parameters. More...
 
struct  PadToPin_t
 

Functions

void Pinmux_config (const Pinmux_PerCfg_t *pinmuxCfg, uint32_t domainId)
 This API configures the pinmux based on the domain. More...
 
uint32_t Pinmux_Read (uint32_t pinOffset)
 
uint32_t Pinmux_getMode (uint32_t pad)
 
uint32_t Pinmux_getPinNum (uint32_t pad)
 
void Pinmux_inputoverride (uint32_t offset, bool state)
 This API is used to override input enable. More...
 
void Pinmux_outputoverride (uint32_t offset, bool state)
 This API configures pin output override. More...
 

Macros

#define PINMUX_END   (0xFFFFFFFFU)
 Macro to mark end of pinmux config array. More...
 
#define PIN_MODE(mode)   (mode)
 Pin mode. More...
 
#define PIN_PULL_DISABLE   (0x1U << 8U)
 Resistor disable. More...
 
#define PIN_PULL_DIRECTION   (0x1U << 9U)
 Pull direction, 0: pull-down, 1: pull-up. More...
 

Pinmux Domain ID

#define PINMUX_DOMAIN_ID_MAIN   (0U)
 NOT USED on this SOC. More...
 
#define PINMUX_DOMAIN_ID_MCU   (1U)
 NOT USED on this SOC. More...
 

Pad config register offset in control module

#define PIN_PAD_AA   (0x00000000U)
 
#define PIN_PAD_AB   (0x00000004U)
 
#define PIN_PAD_AC   (0x00000008U)
 
#define PIN_PAD_AD   (0x0000000CU)
 
#define PIN_PAD_AE   (0x00000010U)
 
#define PIN_PAD_AF   (0x00000014U)
 
#define PIN_PAD_AG   (0x00000018U)
 
#define PIN_PAD_AH   (0x0000001CU)
 
#define PIN_PAD_AI   (0x00000020U)
 
#define PIN_PAD_AJ   (0x00000024U)
 
#define PIN_PAD_AK   (0x00000028U)
 
#define PIN_PAD_AL   (0x0000002CU)
 
#define PIN_PAD_AM   (0x00000030U)
 
#define PIN_PAD_AN   (0x00000034U)
 
#define PIN_PAD_AO   (0x00000038U)
 
#define PIN_PAD_AP   (0x0000003CU)
 
#define PIN_PAD_AQ   (0x00000040U)
 
#define PIN_PAD_AR   (0x00000044U)
 
#define PIN_PAD_AS   (0x00000048U)
 
#define PIN_PAD_AT   (0x0000004CU)
 
#define PIN_PAD_AU   (0x00000050U)
 
#define PIN_PAD_AV   (0x00000054U)
 
#define PIN_PAD_AW   (0x00000058U)
 
#define PIN_PAD_AX   (0x0000005CU)
 
#define PIN_OVERRIDE_INPUT_ENABLE   (0x1 << 5U)
 Pin Input Override. More...
 
#define PIN_OVERRIDE_INPUT_ENABLE_CTRL   (0x1 << 4U)
 
#define PIN_OVERRIDE_OUTPUT_DISABLE   (0x1 << 7U)
 Pin Output Override. More...
 
#define PIN_OVERRIDE_OUTPUT_DISABLE_CTRL   (0x1 << 6U)
 
#define PIN_SLEW_RATE_HIGH   (0x0U << 10U)
 Slew Rate High. More...
 
#define PIN_SLEW_RATE_LOW   (0x1U << 10U)
 Slew Rate Low. More...
 

Macro Definition Documentation

◆ PINMUX_DOMAIN_ID_MAIN

#define PINMUX_DOMAIN_ID_MAIN   (0U)

NOT USED on this SOC.

◆ PINMUX_DOMAIN_ID_MCU

#define PINMUX_DOMAIN_ID_MCU   (1U)

NOT USED on this SOC.

◆ PINMUX_END

#define PINMUX_END   (0xFFFFFFFFU)

Macro to mark end of pinmux config array.

◆ PIN_MODE

#define PIN_MODE (   mode)    (mode)

Pin mode.

◆ PIN_PULL_DISABLE

#define PIN_PULL_DISABLE   (0x1U << 8U)

Resistor disable.

◆ PIN_PULL_DIRECTION

#define PIN_PULL_DIRECTION   (0x1U << 9U)

Pull direction, 0: pull-down, 1: pull-up.

◆ PIN_PAD_AA

#define PIN_PAD_AA   (0x00000000U)

◆ PIN_PAD_AB

#define PIN_PAD_AB   (0x00000004U)

◆ PIN_PAD_AC

#define PIN_PAD_AC   (0x00000008U)

◆ PIN_PAD_AD

#define PIN_PAD_AD   (0x0000000CU)

◆ PIN_PAD_AE

#define PIN_PAD_AE   (0x00000010U)

◆ PIN_PAD_AF

#define PIN_PAD_AF   (0x00000014U)

◆ PIN_PAD_AG

#define PIN_PAD_AG   (0x00000018U)

◆ PIN_PAD_AH

#define PIN_PAD_AH   (0x0000001CU)

◆ PIN_PAD_AI

#define PIN_PAD_AI   (0x00000020U)

◆ PIN_PAD_AJ

#define PIN_PAD_AJ   (0x00000024U)

◆ PIN_PAD_AK

#define PIN_PAD_AK   (0x00000028U)

◆ PIN_PAD_AL

#define PIN_PAD_AL   (0x0000002CU)

◆ PIN_PAD_AM

#define PIN_PAD_AM   (0x00000030U)

◆ PIN_PAD_AN

#define PIN_PAD_AN   (0x00000034U)

◆ PIN_PAD_AO

#define PIN_PAD_AO   (0x00000038U)

◆ PIN_PAD_AP

#define PIN_PAD_AP   (0x0000003CU)

◆ PIN_PAD_AQ

#define PIN_PAD_AQ   (0x00000040U)

◆ PIN_PAD_AR

#define PIN_PAD_AR   (0x00000044U)

◆ PIN_PAD_AS

#define PIN_PAD_AS   (0x00000048U)

◆ PIN_PAD_AT

#define PIN_PAD_AT   (0x0000004CU)

◆ PIN_PAD_AU

#define PIN_PAD_AU   (0x00000050U)

◆ PIN_PAD_AV

#define PIN_PAD_AV   (0x00000054U)

◆ PIN_PAD_AW

#define PIN_PAD_AW   (0x00000058U)

◆ PIN_PAD_AX

#define PIN_PAD_AX   (0x0000005CU)

◆ PIN_OVERRIDE_INPUT_ENABLE

#define PIN_OVERRIDE_INPUT_ENABLE   (0x1 << 5U)

Pin Input Override.

◆ PIN_OVERRIDE_INPUT_ENABLE_CTRL

#define PIN_OVERRIDE_INPUT_ENABLE_CTRL   (0x1 << 4U)

◆ PIN_OVERRIDE_OUTPUT_DISABLE

#define PIN_OVERRIDE_OUTPUT_DISABLE   (0x1 << 7U)

Pin Output Override.

◆ PIN_OVERRIDE_OUTPUT_DISABLE_CTRL

#define PIN_OVERRIDE_OUTPUT_DISABLE_CTRL   (0x1 << 6U)

◆ PIN_SLEW_RATE_HIGH

#define PIN_SLEW_RATE_HIGH   (0x0U << 10U)

Slew Rate High.

◆ PIN_SLEW_RATE_LOW

#define PIN_SLEW_RATE_LOW   (0x1U << 10U)

Slew Rate Low.

Function Documentation

◆ Pinmux_config()

void Pinmux_config ( const Pinmux_PerCfg_t pinmuxCfg,
uint32_t  domainId 
)

This API configures the pinmux based on the domain.

Parameters
pinmuxCfgPointer to list of pinmux configuration array. This parameter cannot be NULL and the last entry should be initialized with PINMUX_END so that this function knows the end of configuration.
domainIdNOT USED in this SOC

◆ Pinmux_Read()

uint32_t Pinmux_Read ( uint32_t  pinOffset)

◆ Pinmux_getMode()

uint32_t Pinmux_getMode ( uint32_t  pad)

◆ Pinmux_getPinNum()

uint32_t Pinmux_getPinNum ( uint32_t  pad)

◆ Pinmux_inputoverride()

void Pinmux_inputoverride ( uint32_t  offset,
bool  state 
)

This API is used to override input enable.

Parameters
offsetPinmux register offset value. Refer Pinmux_Offsets
stateInput Enable This parameter is set to 1 to disable input and 0 to disable

◆ Pinmux_outputoverride()

void Pinmux_outputoverride ( uint32_t  offset,
bool  state 
)

This API configures pin output override.

Parameters
offsetPinmux register offset value. Refer Pinmux_Offsets
stateOutput Disable This parameter is set to 1 to Disable output and 0 to enable