Actions

EmSys

Tm4clib-gpio-defines

From EdWiki

Revision as of 10:40, 30 October 2018 by Jshankar (Talk | contribs) (Enumerations)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Modules

GPIO register base addresses
GPIO pin identifiers

Macros

PCTL_AF

#define PCTL_AF(pin, af) ((af) << ((pin) << 2))

PCTL_MASK

#define PCTL_MASK(pin) PCTL_AF((pin), 0xf)

GPIO_DATA

#define GPIO_DATA(port) (&MMIO32((port) + 0x000))

GPIO_DIR

#define GPIO_DIR(port) MMIO32((port) + 0x400)

GPIO_IS

#define GPIO_IS(port) MMIO32((port) + 0x404)

GPIO_IBE

#define GPIO_IBE(port) MMIO32((port) + 0x408)

GPIO_IEV

#define GPIO_IEV(port) MMIO32((port) + 0x40c)

GPIO_IM

#define GPIO_IM(port) MMIO32((port) + 0x410)

GPIO_RIS

#define GPIO_RIS(port) MMIO32((port) + 0x414)

GPIO_MIS

#define GPIO_MIS(port) MMIO32((port) + 0x418)

GPIO_ICR

#define GPIO_ICR(port) MMIO32((port) + 0x41c)

GPIO_AFSEL

#define GPIO_AFSEL(port) MMIO32((port) + 0x420)

GPIO_DR2R

#define GPIO_DR2R(port) MMIO32((port) + 0x500)

GPIO_DR4R

#define GPIO_DR4R(port) MMIO32((port) + 0x504)

GPIO_DR8R

#define GPIO_DR8R(port) MMIO32((port) + 0x508)

GPIO_ODR

#define GPIO_ODR(port) MMIO32((port) + 0x50c)

GPIO_PUR

#define GPIO_PUR(port) MMIO32((port) + 0x510)

GPIO_PDR

#define GPIO_PDR(port) MMIO32((port) + 0x514)

GPIO_SLR

#define GPIO_SLR(port) MMIO32((port) + 0x518)

GPIO_DEN

#define GPIO_DEN(port) MMIO32((port) + 0x51c)

GPIO_LOCK

#define GPIO_LOCK(port) MMIO32((port) + 0x520)

GPIO_CR

#define GPIO_CR(port) MMIO32((port) + 0x524)

GPIO_AMSEL

#define GPIO_AMSEL(port) MMIO32((port) + 0x528)

GPIO_PCTL

#define GPIO_PCTL(port) MMIO32((port) + 0x52C)

GPIO_ADCCTL

#define GPIO_ADCCTL(port) MMIO32((port) + 0x530)

GPIO_DMACTL

#define GPIO_DMACTL(port) MMIO32((port) + 0x534)

GPIO_PERIPH_ID4

#define GPIO_PERIPH_ID4(port) MMIO32((port) + 0xFD0)

GPIO_PERIPH_ID5

#define GPIO_PERIPH_ID5(port) MMIO32((port) + 0xFD4)

GPIO_PERIPH_ID6

#define GPIO_PERIPH_ID6(port) MMIO32((port) + 0xFD8)

GPIO_PERIPH_ID7

#define GPIO_PERIPH_ID7(port) MMIO32((port) + 0xFDC)

GPIO_PERIPH_ID0

#define GPIO_PERIPH_ID0(port) MMIO32((port) + 0xFE0)

GPIO_PERIPH_ID1

#define GPIO_PERIPH_ID1(port) MMIO32((port) + 0xFE4)

GPIO_PERIPH_ID2

#define GPIO_PERIPH_ID2(port) MMIO32((port) + 0xFE8)

GPIO_PERIPH_ID3

#define GPIO_PERIPH_ID3(port) MMIO32((port) + 0xFEC)

GPIO_PCELL_ID0

#define GPIO_PCELL_ID0(port) MMIO32((port) + 0xFF0)

GPIO_PCELL_ID1

#define GPIO_PCELL_ID1(port) MMIO32((port) + 0xFF4)

GPIO_PCELL_ID2

#define GPIO_PCELL_ID2(port) MMIO32((port) + 0xFF8)

GPIO_PCELL_ID2

#define GPIO_PCELL_ID3(port) MMIO32((port) + 0xFFC)

Enumerations

enum gpio_mode

{

GPIO_MODE_OUTPUT,
GPIO_MODE_INPUT,
GPIO_MODE_ANALOG

}

enum gpio_pullup

{

GPIO_PUPD_NONE,
GPIO_PUPD_PULLUP,
GPIO_PUPD_PULLDOWN

}

enum gpio_output_type

{

GPIO_OTYPE_PP
GPIO_OTYPE_OD

}

enum gpio_drive_strength

{

GPIO_DRIVE_2MA,
GPIO_DRIVE_4MA,
GPIO_DRIVE_8MA,
GPIO_DRIVE_8MA_SLEW_CT

}

enum gpio_trigger

{

GPIO_TRIG_LVL_LOW,
GPIO_TRIG_LVL_HIGH,
GPIO_TRIG_EDGE_FALL,
GPIO_TRIG_EDGE_RISE,
GPIO_TRIG_EDGE_BOTH

}

Enumeration Types

gpio_drive_strength

Enumerator
GPIO_DRIVE_2MA 2mA drive
GPIO_DRIVE_4MA 4mA drive
GPIO_DRIVE_8MA 8mA drive
GPIO_DRIVE_8MA_SLEW_CTL 8mA drive with slew rate control

gpio_mode

Enumerator
GPIO_MODE_OUTPUT Configure pin as output.
GPIO_MODE_INPUT Configure pin as input.
GPIO_MODE_ANALOG Configure pin as analog function.

gpio_output_type

Enumerator
GPIO_OTYPE_PP Push-pull configuration.
GPIO_OTYPE_OD Open drain configuration.

gpio_pullup

Enumerator
GPIO_PUPD_NONE Do not pull the pin high or low.
GPIO_PUPD_PULLUP Pull the pin high.
GPIO_PUPD_PULLDOWN Pull the pin low.

gpio_trigger

Enumerator
GPIO_TRIG_LVL_LOW Level trigger, signal low.
GPIO_TRIG_LVL_HIGH Level trigger, signal high.
GPIO_TRIG_EDGE_FALL Falling edge trigger.
GPIO_TRIG_EDGE_RISE Rising edge trigger.
GPIO_TRIG_EDGE_BOTH Falling and Rising edges trigger.

gpio_clear()