diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2013-06-20 18:00:56 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2013-06-20 18:00:56 -0600 |
commit | 84f7f03032f83e1e956a809f920ffb1e71866710 (patch) | |
tree | 19df0d930561efe22522b54cf8a64c92365b5c2f | |
parent | d613457ead9cfb4b907ba08c800d7db51084edcd (diff) | |
download | px4-nuttx-84f7f03032f83e1e956a809f920ffb1e71866710.tar.gz px4-nuttx-84f7f03032f83e1e956a809f920ffb1e71866710.tar.bz2 px4-nuttx-84f7f03032f83e1e956a809f920ffb1e71866710.zip |
KL25Z GPIO register dump function now compiles
-rw-r--r-- | nuttx/ChangeLog | 2 | ||||
-rw-r--r-- | nuttx/arch/arm/src/kl/chip/kl_gpio.h | 96 | ||||
-rw-r--r-- | nuttx/arch/arm/src/kl/kl_dumpgpio.c | 22 |
3 files changed, 58 insertions, 62 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index 402f80a29..e09d98bda 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -5018,3 +5018,5 @@ * configs/freedom-lk25z/src/kl_spi.c: Add the framework for controlling SPI-related discrete inputs and outputs. Taken from work by Alan Carvalho de Assis (2013-6-20). + * arch/arm/src/kl/kl_dumpgpio.c: Now compiles (2013-6-20). + diff --git a/nuttx/arch/arm/src/kl/chip/kl_gpio.h b/nuttx/arch/arm/src/kl/chip/kl_gpio.h index 997e1d1ce..142570ace 100644 --- a/nuttx/arch/arm/src/kl/chip/kl_gpio.h +++ b/nuttx/arch/arm/src/kl/chip/kl_gpio.h @@ -46,58 +46,60 @@ * Pre-processorDefinitions ************************************************************************************/ +#define KL_GPIO_NPORTS 5 + /* Register Offsets *****************************************************************/ -#define KL_GPIO_PDOR_OFFSET 0x0000 /* Port Data Output Register */ -#define KL_GPIO_PSOR_OFFSET 0x0004 /* Port Set Output Register */ -#define KL_GPIO_PCOR_OFFSET 0x0008 /* Port Clear Output Register */ -#define KL_GPIO_PTOR_OFFSET 0x000c /* Port Toggle Output Register */ -#define KL_GPIO_PDIR_OFFSET 0x0010 /* Port Data Input Register */ -#define KL_GPIO_PDDR_OFFSET 0x0014 /* Port Data Direction Register */ +#define KL_GPIO_PDOR_OFFSET 0x0000 /* Port Data Output Register */ +#define KL_GPIO_PSOR_OFFSET 0x0004 /* Port Set Output Register */ +#define KL_GPIO_PCOR_OFFSET 0x0008 /* Port Clear Output Register */ +#define KL_GPIO_PTOR_OFFSET 0x000c /* Port Toggle Output Register */ +#define KL_GPIO_PDIR_OFFSET 0x0010 /* Port Data Input Register */ +#define KL_GPIO_PDDR_OFFSET 0x0014 /* Port Data Direction Register */ /* Register Addresses ***************************************************************/ -#define KL_GPIO_PDOR(n) (KL_GPIO_BASE(n)+KL_GPIO_PDOR_OFFSET) -#define KL_GPIO_PSOR(n) (KL_GPIO_BASE(n)+KL_GPIO_PSOR_OFFSET) -#define KL_GPIO_PCOR(n) (KL_GPIO_BASE(n)+KL_GPIO_PCOR_OFFSET) -#define KL_GPIO_PTOR(n) (KL_GPIO_BASE(n)+KL_GPIO_PTOR_OFFSET) -#define KL_GPIO_PDIR(n) (KL_GPIO_BASE(n)+KL_GPIO_PDIR_OFFSET) -#define KL_GPIO_PDDR(n) (KL_GPIO_BASE(n)+KL_GPIO_PDDR_OFFSET) - -#define KL_GPIOA_PDOR (KL_GPIOA_BASE+KL_GPIO_PDOR_OFFSET) -#define KL_GPIOA_PSOR (KL_GPIOA_BASE+KL_GPIO_PSOR_OFFSET) -#define KL_GPIOA_PCOR (KL_GPIOA_BASE+KL_GPIO_PCOR_OFFSET) -#define KL_GPIOA_PTOR (KL_GPIOA_BASE+KL_GPIO_PTOR_OFFSET) -#define KL_GPIOA_PDIR (KL_GPIOA_BASE+KL_GPIO_PDIR_OFFSET) -#define KL_GPIOA_PDDR (KL_GPIOA_BASE+KL_GPIO_PDDR_OFFSET) - -#define KL_GPIOB_PDOR (KL_GPIOB_BASE+KL_GPIO_PDOR_OFFSET) -#define KL_GPIOB_PSOR (KL_GPIOB_BASE+KL_GPIO_PSOR_OFFSET) -#define KL_GPIOB_PCOR (KL_GPIOB_BASE+KL_GPIO_PCOR_OFFSET) -#define KL_GPIOB_PTOR (KL_GPIOB_BASE+KL_GPIO_PTOR_OFFSET) -#define KL_GPIOB_PDIR (KL_GPIOB_BASE+KL_GPIO_PDIR_OFFSET) -#define KL_GPIOB_PDDR (KL_GPIOB_BASE+KL_GPIO_PDDR_OFFSET) - -#define KL_GPIOC_PDOR (KL_GPIOC_BASE+KL_GPIO_PDOR_OFFSET) -#define KL_GPIOC_PSOR (KL_GPIOC_BASE+KL_GPIO_PSOR_OFFSET) -#define KL_GPIOC_PCOR (KL_GPIOC_BASE+KL_GPIO_PCOR_OFFSET) -#define KL_GPIOC_PTOR (KL_GPIOC_BASE+KL_GPIO_PTOR_OFFSET) -#define KL_GPIOC_PDIR (KL_GPIOC_BASE+KL_GPIO_PDIR_OFFSET) -#define KL_GPIOC_PDDR (KL_GPIOC_BASE+KL_GPIO_PDDR_OFFSET) - -#define KL_GPIOD_PDOR (KL_GPIOD_BASE+KL_GPIO_PDOR_OFFSET) -#define KL_GPIOD_PSOR (KL_GPIOD_BASE+KL_GPIO_PSOR_OFFSET) -#define KL_GPIOD_PCOR (KL_GPIOD_BASE+KL_GPIO_PCOR_OFFSET) -#define KL_GPIOD_PTOR (KL_GPIOD_BASE+KL_GPIO_PTOR_OFFSET) -#define KL_GPIOD_PDIR (KL_GPIOD_BASE+KL_GPIO_PDIR_OFFSET) -#define KL_GPIOD_PDDR (KL_GPIOD_BASE+KL_GPIO_PDDR_OFFSET) - -#define KL_GPIOE_PDOR (KL_GPIOE_BASE+KL_GPIO_PDOR_OFFSET) -#define KL_GPIOE_PSOR (KL_GPIOE_BASE+KL_GPIO_PSOR_OFFSET) -#define KL_GPIOE_PCOR (KL_GPIOE_BASE+KL_GPIO_PCOR_OFFSET) -#define KL_GPIOE_PTOR (KL_GPIOE_BASE+KL_GPIO_PTOR_OFFSET) -#define KL_GPIOE_PDIR (KL_GPIOE_BASE+KL_GPIO_PDIR_OFFSET) -#define KL_GPIOE_PDDR (KL_GPIOE_BASE+KL_GPIO_PDDR_OFFSET) +#define KL_GPIO_PDOR(n) (KL_GPIO_BASE(n)+KL_GPIO_PDOR_OFFSET) +#define KL_GPIO_PSOR(n) (KL_GPIO_BASE(n)+KL_GPIO_PSOR_OFFSET) +#define KL_GPIO_PCOR(n) (KL_GPIO_BASE(n)+KL_GPIO_PCOR_OFFSET) +#define KL_GPIO_PTOR(n) (KL_GPIO_BASE(n)+KL_GPIO_PTOR_OFFSET) +#define KL_GPIO_PDIR(n) (KL_GPIO_BASE(n)+KL_GPIO_PDIR_OFFSET) +#define KL_GPIO_PDDR(n) (KL_GPIO_BASE(n)+KL_GPIO_PDDR_OFFSET) + +#define KL_GPIOA_PDOR (KL_GPIOA_BASE+KL_GPIO_PDOR_OFFSET) +#define KL_GPIOA_PSOR (KL_GPIOA_BASE+KL_GPIO_PSOR_OFFSET) +#define KL_GPIOA_PCOR (KL_GPIOA_BASE+KL_GPIO_PCOR_OFFSET) +#define KL_GPIOA_PTOR (KL_GPIOA_BASE+KL_GPIO_PTOR_OFFSET) +#define KL_GPIOA_PDIR (KL_GPIOA_BASE+KL_GPIO_PDIR_OFFSET) +#define KL_GPIOA_PDDR (KL_GPIOA_BASE+KL_GPIO_PDDR_OFFSET) + +#define KL_GPIOB_PDOR (KL_GPIOB_BASE+KL_GPIO_PDOR_OFFSET) +#define KL_GPIOB_PSOR (KL_GPIOB_BASE+KL_GPIO_PSOR_OFFSET) +#define KL_GPIOB_PCOR (KL_GPIOB_BASE+KL_GPIO_PCOR_OFFSET) +#define KL_GPIOB_PTOR (KL_GPIOB_BASE+KL_GPIO_PTOR_OFFSET) +#define KL_GPIOB_PDIR (KL_GPIOB_BASE+KL_GPIO_PDIR_OFFSET) +#define KL_GPIOB_PDDR (KL_GPIOB_BASE+KL_GPIO_PDDR_OFFSET) + +#define KL_GPIOC_PDOR (KL_GPIOC_BASE+KL_GPIO_PDOR_OFFSET) +#define KL_GPIOC_PSOR (KL_GPIOC_BASE+KL_GPIO_PSOR_OFFSET) +#define KL_GPIOC_PCOR (KL_GPIOC_BASE+KL_GPIO_PCOR_OFFSET) +#define KL_GPIOC_PTOR (KL_GPIOC_BASE+KL_GPIO_PTOR_OFFSET) +#define KL_GPIOC_PDIR (KL_GPIOC_BASE+KL_GPIO_PDIR_OFFSET) +#define KL_GPIOC_PDDR (KL_GPIOC_BASE+KL_GPIO_PDDR_OFFSET) + +#define KL_GPIOD_PDOR (KL_GPIOD_BASE+KL_GPIO_PDOR_OFFSET) +#define KL_GPIOD_PSOR (KL_GPIOD_BASE+KL_GPIO_PSOR_OFFSET) +#define KL_GPIOD_PCOR (KL_GPIOD_BASE+KL_GPIO_PCOR_OFFSET) +#define KL_GPIOD_PTOR (KL_GPIOD_BASE+KL_GPIO_PTOR_OFFSET) +#define KL_GPIOD_PDIR (KL_GPIOD_BASE+KL_GPIO_PDIR_OFFSET) +#define KL_GPIOD_PDDR (KL_GPIOD_BASE+KL_GPIO_PDDR_OFFSET) + +#define KL_GPIOE_PDOR (KL_GPIOE_BASE+KL_GPIO_PDOR_OFFSET) +#define KL_GPIOE_PSOR (KL_GPIOE_BASE+KL_GPIO_PSOR_OFFSET) +#define KL_GPIOE_PCOR (KL_GPIOE_BASE+KL_GPIO_PCOR_OFFSET) +#define KL_GPIOE_PTOR (KL_GPIOE_BASE+KL_GPIO_PTOR_OFFSET) +#define KL_GPIOE_PDIR (KL_GPIOE_BASE+KL_GPIO_PDIR_OFFSET) +#define KL_GPIOE_PDDR (KL_GPIOE_BASE+KL_GPIO_PDDR_OFFSET) /* Register Bit Definitions *********************************************************/ diff --git a/nuttx/arch/arm/src/kl/kl_dumpgpio.c b/nuttx/arch/arm/src/kl/kl_dumpgpio.c index c05569e77..9c21e9b85 100644 --- a/nuttx/arch/arm/src/kl/kl_dumpgpio.c +++ b/nuttx/arch/arm/src/kl/kl_dumpgpio.c @@ -114,9 +114,9 @@ void kl_dumpgpio(gpio_cfgset_t pinset, const char *msg) * address. */ - port = (pinset & GPIO_PORT_MASK) >> GPIO_PORT_SHIFT; - DEBUGASSERT((unsigned)port <= KL_GPIO_PORTE); - base = KL_GPIO_CTRL_BASE(port); + port = (pinset & _PIN_PORT_MASK) >> _PIN_PORT_SHIFT; + DEBUGASSERT((unsigned)port < KL_GPIO_NPORTS); + base = KL_GPIO_BASE(port); /* The following requires exclusive access to the GPIO registers */ @@ -124,18 +124,10 @@ void kl_dumpgpio(gpio_cfgset_t pinset, const char *msg) lldbg("GPIO%c pinset: %08x base: %08x -- %s\n", g_portchar[port], pinset, base, msg); - lldbg(" PMD: %08x OFFD: %08x DOUT: %08x DMASK: %08x\n", - getreg32(base + KL_GPIO_PMD_OFFSET), - getreg32(base + KL_GPIO_OFFD_OFFSET), - getreg32(base + KL_GPIO_DOUT_OFFSET), - getreg32(base + KL_GPIO_DMASK_OFFSET)); - lldbg(" PIN: %08x DBEN: %08x IMD: %08x IEN: %08x\n", - getreg32(base + KL_GPIO_PIN_OFFSET), - getreg32(base + KL_GPIO_DBEN_OFFSET), - getreg32(base + KL_GPIO_IMD_OFFSET), - getreg32(base + KL_GPIO_IEN_OFFSET)); - lldbg(" ISRC: %08x\n", - getreg32(base + KL_GPIO_ISRC_OFFSET)); + lldbg(" PDOR: %08x PDIR: %08x PDDR: %08x\n", + getreg32(base + KL_GPIO_PDOR_OFFSET), + getreg32(base + KL_GPIO_PDIR_OFFSET), + getreg32(base + KL_GPIO_PDDR_OFFSET)); irqrestore(flags); } |