Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
max32-pinctrl.h File Reference

Go to the source code of this file.

Macros

#define MAX32_MODE_GPIO   0x00
 Pin modes.
 
#define MAX32_MODE_AF1   0x01
 
#define MAX32_MODE_AF2   0x02
 
#define MAX32_MODE_AF3   0x03
 
#define MAX32_MODE_AF4   0x04
 
#define MAX32_MODE_AF5   0x05
 
#define MAX32_MODE_SHIFT   0U
 Mode, port, pin shift number.
 
#define MAX32_MODE_MASK   0x0FU
 
#define MAX32_PORT_SHIFT   4U
 
#define MAX32_PORT_MASK   0x0FU
 
#define MAX32_PIN_SHIFT   8U
 
#define MAX32_PIN_MASK   0xFFU
 
#define MAX32_PINMUX(port, pin, mode)
 Pin configuration bit field.
 
#define MAX32_PINMUX_PORT(pinmux)   (((pinmux) >> MAX32_PORT_SHIFT) & MAX32_PORT_MASK)
 
#define MAX32_PINMUX_PIN(pinmux)   (((pinmux) >> MAX32_PIN_SHIFT) & MAX32_PIN_MASK)
 
#define MAX32_PINMUX_MODE(pinmux)   (((pinmux) >> MAX32_MODE_SHIFT) & MAX32_MODE_MASK)
 
#define MAX32_VSEL_VDDIO   0
 
#define MAX32_VSEL_VDDIOH   1
 
#define MAX32_INPUT_ENABLE_SHIFT   0x00
 Pin configuration.
 
#define MAX32_BIAS_PULL_UP_SHIFT   0x01
 
#define MAX32_BIAS_PULL_DOWN_SHIFT   0x02
 
#define MAX32_OUTPUT_ENABLE_SHIFT   0x03
 
#define MAX32_POWER_SOURCE_SHIFT   0x04
 
#define MAX32_OUTPUT_HIGH_SHIFT   0x05
 
#define MAX32_DRV_STRENGTH_SHIFT   0x06 /* 2 bits */
 

Macro Definition Documentation

◆ MAX32_BIAS_PULL_DOWN_SHIFT

#define MAX32_BIAS_PULL_DOWN_SHIFT   0x02

◆ MAX32_BIAS_PULL_UP_SHIFT

#define MAX32_BIAS_PULL_UP_SHIFT   0x01

◆ MAX32_DRV_STRENGTH_SHIFT

#define MAX32_DRV_STRENGTH_SHIFT   0x06 /* 2 bits */

◆ MAX32_INPUT_ENABLE_SHIFT

#define MAX32_INPUT_ENABLE_SHIFT   0x00

Pin configuration.

◆ MAX32_MODE_AF1

#define MAX32_MODE_AF1   0x01

◆ MAX32_MODE_AF2

#define MAX32_MODE_AF2   0x02

◆ MAX32_MODE_AF3

#define MAX32_MODE_AF3   0x03

◆ MAX32_MODE_AF4

#define MAX32_MODE_AF4   0x04

◆ MAX32_MODE_AF5

#define MAX32_MODE_AF5   0x05

◆ MAX32_MODE_GPIO

#define MAX32_MODE_GPIO   0x00

Pin modes.

◆ MAX32_MODE_MASK

#define MAX32_MODE_MASK   0x0FU

◆ MAX32_MODE_SHIFT

#define MAX32_MODE_SHIFT   0U

Mode, port, pin shift number.

◆ MAX32_OUTPUT_ENABLE_SHIFT

#define MAX32_OUTPUT_ENABLE_SHIFT   0x03

◆ MAX32_OUTPUT_HIGH_SHIFT

#define MAX32_OUTPUT_HIGH_SHIFT   0x05

◆ MAX32_PIN_MASK

#define MAX32_PIN_MASK   0xFFU

◆ MAX32_PIN_SHIFT

#define MAX32_PIN_SHIFT   8U

◆ MAX32_PINMUX

#define MAX32_PINMUX (   port,
  pin,
  mode 
)
Value:
((((port)&MAX32_PORT_MASK) << MAX32_PORT_SHIFT) | \
(((MAX32_MODE_##mode) & MAX32_MODE_MASK) << MAX32_MODE_SHIFT))
#define MAX32_MODE_MASK
Definition max32-pinctrl.h:24
#define MAX32_PORT_MASK
Definition max32-pinctrl.h:26
#define MAX32_PIN_SHIFT
Definition max32-pinctrl.h:27
#define MAX32_PIN_MASK
Definition max32-pinctrl.h:28
#define MAX32_MODE_SHIFT
Mode, port, pin shift number.
Definition max32-pinctrl.h:23
#define MAX32_PORT_SHIFT
Definition max32-pinctrl.h:25

Pin configuration bit field.

Fields:

  • mode [ 0 : 3 ]
  • port [ 4 : 7 ]
  • pin [ 8 : 15 ]
Parameters
portPort (0 .. 15)
pinPin (0..31)
modeMode (GPIO, AF1, AF2...).

◆ MAX32_PINMUX_MODE

#define MAX32_PINMUX_MODE (   pinmux)    (((pinmux) >> MAX32_MODE_SHIFT) & MAX32_MODE_MASK)

◆ MAX32_PINMUX_PIN

#define MAX32_PINMUX_PIN (   pinmux)    (((pinmux) >> MAX32_PIN_SHIFT) & MAX32_PIN_MASK)

◆ MAX32_PINMUX_PORT

#define MAX32_PINMUX_PORT (   pinmux)    (((pinmux) >> MAX32_PORT_SHIFT) & MAX32_PORT_MASK)

◆ MAX32_PORT_MASK

#define MAX32_PORT_MASK   0x0FU

◆ MAX32_PORT_SHIFT

#define MAX32_PORT_SHIFT   4U

◆ MAX32_POWER_SOURCE_SHIFT

#define MAX32_POWER_SOURCE_SHIFT   0x04

◆ MAX32_VSEL_VDDIO

#define MAX32_VSEL_VDDIO   0

◆ MAX32_VSEL_VDDIOH

#define MAX32_VSEL_VDDIOH   1