Loading...
Searching...
No Matches
board.h File Reference

Board specific definitions for the Gaisler NOEL-V ZedBoard. More...

Detailed Description

Board specific definitions for the Gaisler NOEL-V ZedBoard.

Author
Matvii Ivashchenko

Definition in file board.h.

#include "cpu.h"
#include "periph_conf.h"
#include "periph/gpio.h"
+ Include dependency graph for board.h:

Go to the source code of this file.

System timer frequency

#define CONFIG_ZTIMER_USEC_BASE_FREQ   (CLOCK_CORECLOCK / 2)
 ztimer base = mtime
 

LED definitions (ZedBoard LD0..LD7)

VHDL: gpio_o(i+16) → led(i), for i in 0 to 7.

So LED0 = gpio_o[16], ..., LED7 = gpio_o[23]. Active HIGH (gpio_set = on).

#define LED0_PIN   GPIO_PIN(0, 16)
 LD0 → gpio_o[16].
 
#define LED1_PIN   GPIO_PIN(0, 17)
 LD1 → gpio_o[17].
 
#define LED2_PIN   GPIO_PIN(0, 18)
 LD2 → gpio_o[18].
 
#define LED3_PIN   GPIO_PIN(0, 19)
 LD3 → gpio_o[19].
 
#define LED4_PIN   GPIO_PIN(0, 20)
 LD4 → gpio_o[20].
 
#define LED5_PIN   GPIO_PIN(0, 21)
 LD5 → gpio_o[21].
 
#define LED6_PIN   GPIO_PIN(0, 22)
 LD6 → gpio_o[22].
 
#define LED7_PIN   GPIO_PIN(0, 23)
 LD7 → gpio_o[23].
 
#define LED0_ON   gpio_set(LED0_PIN)
 
#define LED0_OFF   gpio_clear(LED0_PIN)
 
#define LED0_TOGGLE   gpio_toggle(LED0_PIN)
 
#define LED1_ON   gpio_set(LED1_PIN)
 
#define LED1_OFF   gpio_clear(LED1_PIN)
 
#define LED1_TOGGLE   gpio_toggle(LED1_PIN)
 

Button definitions (ZedBoard BTND, BTNL, BTNR)

VHDL: btn(i) → gpio_i(i+4), for i in 1 to 3.

BTN0 (BTNC) is NOT connected to GPIO. BTN1 (BTND) = gpio_i[5], BTN2 (BTNL) = gpio_i[6], BTN3 (BTNR) = gpio_i[7]. Active HIGH (pressed = 1).

#define BTN1_PIN   GPIO_PIN(0, 5)
 BTND → gpio_i[5].
 
#define BTN2_PIN   GPIO_PIN(0, 6)
 BTNL → gpio_i[6].
 
#define BTN3_PIN   GPIO_PIN(0, 7)
 BTNR → gpio_i[7].
 
#define BTN4_PIN   GPIO_PIN(0, 0)
 SW0 → gpio_i[0].
 
#define BTN5_PIN   GPIO_PIN(0, 1)
 SW1 → gpio_i[1].
 
#define BTN6_PIN   GPIO_PIN(0, 2)
 SW2 → gpio_i[2].
 
#define BTN7_PIN   GPIO_PIN(0, 3)
 SW3 → gpio_i[3].
 
#define BTN1_MODE   GPIO_IN
 
#define BTN2_MODE   GPIO_IN
 
#define BTN3_MODE   GPIO_IN
 
#define BTN4_MODE   GPIO_IN
 
#define BTN5_MODE   GPIO_IN
 
#define BTN6_MODE   GPIO_IN
 
#define BTN7_MODE   GPIO_IN
 

DIP Switch definitions (ZedBoard SW0..SW3)

VHDL: sw(i) → gpio_i(i), for i in 0 to 2.

SW3 → gpio_i[3] (also controls DSU/UART mux: 1=debug UART, 0=UART0).

#define SW0_PIN   GPIO_PIN(0, 0)
 SW0 -> gpio_i[0].
 
#define SW1_PIN   GPIO_PIN(0, 1)
 SW1 -> gpio_i[1].
 
#define SW2_PIN   GPIO_PIN(0, 2)
 SW2 -> gpio_i[2].
 
#define SW3_PIN   GPIO_PIN(0, 3)
 SW3 -> gpio_i[3] (UART/DSU mux)
 

Macro Definition Documentation

◆ BTN1_MODE

#define BTN1_MODE   GPIO_IN

Definition at line 76 of file board.h.

◆ BTN1_PIN

#define BTN1_PIN   GPIO_PIN(0, 5)

BTND → gpio_i[5].

Definition at line 68 of file board.h.

◆ BTN2_MODE

#define BTN2_MODE   GPIO_IN

Definition at line 77 of file board.h.

◆ BTN2_PIN

#define BTN2_PIN   GPIO_PIN(0, 6)

BTNL → gpio_i[6].

Definition at line 69 of file board.h.

◆ BTN3_MODE

#define BTN3_MODE   GPIO_IN

Definition at line 78 of file board.h.

◆ BTN3_PIN

#define BTN3_PIN   GPIO_PIN(0, 7)

BTNR → gpio_i[7].

Definition at line 70 of file board.h.

◆ BTN4_MODE

#define BTN4_MODE   GPIO_IN

Definition at line 79 of file board.h.

◆ BTN4_PIN

#define BTN4_PIN   GPIO_PIN(0, 0)

SW0 → gpio_i[0].

Definition at line 71 of file board.h.

◆ BTN5_MODE

#define BTN5_MODE   GPIO_IN

Definition at line 80 of file board.h.

◆ BTN5_PIN

#define BTN5_PIN   GPIO_PIN(0, 1)

SW1 → gpio_i[1].

Definition at line 72 of file board.h.

◆ BTN6_MODE

#define BTN6_MODE   GPIO_IN

Definition at line 81 of file board.h.

◆ BTN6_PIN

#define BTN6_PIN   GPIO_PIN(0, 2)

SW2 → gpio_i[2].

Definition at line 73 of file board.h.

◆ BTN7_MODE

#define BTN7_MODE   GPIO_IN

Definition at line 82 of file board.h.

◆ BTN7_PIN

#define BTN7_PIN   GPIO_PIN(0, 3)

SW3 → gpio_i[3].

Definition at line 74 of file board.h.

◆ CONFIG_ZTIMER_USEC_BASE_FREQ

#define CONFIG_ZTIMER_USEC_BASE_FREQ   (CLOCK_CORECLOCK / 2)

ztimer base = mtime

Definition at line 30 of file board.h.

◆ LED0_OFF

#define LED0_OFF   gpio_clear(LED0_PIN)

Definition at line 51 of file board.h.

◆ LED0_ON

#define LED0_ON   gpio_set(LED0_PIN)

Definition at line 50 of file board.h.

◆ LED0_PIN

#define LED0_PIN   GPIO_PIN(0, 16)

LD0 → gpio_o[16].

Definition at line 41 of file board.h.

◆ LED0_TOGGLE

#define LED0_TOGGLE   gpio_toggle(LED0_PIN)

Definition at line 52 of file board.h.

◆ LED1_OFF

#define LED1_OFF   gpio_clear(LED1_PIN)

Definition at line 55 of file board.h.

◆ LED1_ON

#define LED1_ON   gpio_set(LED1_PIN)

Definition at line 54 of file board.h.

◆ LED1_PIN

#define LED1_PIN   GPIO_PIN(0, 17)

LD1 → gpio_o[17].

Definition at line 42 of file board.h.

◆ LED1_TOGGLE

#define LED1_TOGGLE   gpio_toggle(LED1_PIN)

Definition at line 56 of file board.h.

◆ LED2_PIN

#define LED2_PIN   GPIO_PIN(0, 18)

LD2 → gpio_o[18].

Definition at line 43 of file board.h.

◆ LED3_PIN

#define LED3_PIN   GPIO_PIN(0, 19)

LD3 → gpio_o[19].

Definition at line 44 of file board.h.

◆ LED4_PIN

#define LED4_PIN   GPIO_PIN(0, 20)

LD4 → gpio_o[20].

Definition at line 45 of file board.h.

◆ LED5_PIN

#define LED5_PIN   GPIO_PIN(0, 21)

LD5 → gpio_o[21].

Definition at line 46 of file board.h.

◆ LED6_PIN

#define LED6_PIN   GPIO_PIN(0, 22)

LD6 → gpio_o[22].

Definition at line 47 of file board.h.

◆ LED7_PIN

#define LED7_PIN   GPIO_PIN(0, 23)

LD7 → gpio_o[23].

Definition at line 48 of file board.h.

◆ SW0_PIN

#define SW0_PIN   GPIO_PIN(0, 0)

SW0 -> gpio_i[0].

Definition at line 92 of file board.h.

◆ SW1_PIN

#define SW1_PIN   GPIO_PIN(0, 1)

SW1 -> gpio_i[1].

Definition at line 93 of file board.h.

◆ SW2_PIN

#define SW2_PIN   GPIO_PIN(0, 2)

SW2 -> gpio_i[2].

Definition at line 94 of file board.h.

◆ SW3_PIN

#define SW3_PIN   GPIO_PIN(0, 3)

SW3 -> gpio_i[3] (UART/DSU mux)

Definition at line 95 of file board.h.