board.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2023 Gunar Schorcht
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
9 #pragma once
10 
26 #include <stdint.h>
27 
41 #define BTN0_PIN GPIO0
42 
46 #define BTN0_MODE GPIO_IN_PU
47 
51 #ifndef BTN0_INT_FLANK
52 #define BTN0_INT_FLANK GPIO_FALLING
53 #endif
54 
58 #define BUTTON0_PIN BTN0_PIN
59 
71 #define LCD_SCREEN_WIDTH 480
72 #define LCD_SCREEN_HEIGHT 320
74 #ifdef MODULE_ST77XX
75 #define LCD_DB0 GPIO9
76 #define LCD_DB1 GPIO46
77 #define LCD_DB2 GPIO3
78 #define LCD_DB3 GPIO8
79 #define LCD_DB4 GPIO18
80 #define LCD_DB5 GPIO17
81 #define LCD_DB6 GPIO16
82 #define LCD_DB7 GPIO15
83 #define LCD_TE GPIO48
84 #define LCD_WR GPIO47
85 #define LCD_RS GPIO0
86 #define LCD_RESET GPIO4
87 #define LCD_BACKLIGHT GPIO45
88 
89 #define BACKLIGHT_ON gpio_set(LCD_BACKLIGHT)
90 #define BACKLIGHT_OFF gpio_clear(LCD_BACKLIGHT)
91 
92 #define ST77XX_PARAM_CNTRL ST77XX_CNTRL_ST7796
93 #define ST77XX_PARAM_SPI SPI_UNDEF /* parallel interface is used */
94 #define ST77XX_PARAM_D0 LCD_DB0
95 #define ST77XX_PARAM_D1 LCD_DB1
96 #define ST77XX_PARAM_D2 LCD_DB2
97 #define ST77XX_PARAM_D3 LCD_DB3
98 #define ST77XX_PARAM_D4 LCD_DB4
99 #define ST77XX_PARAM_D5 LCD_DB5
100 #define ST77XX_PARAM_D6 LCD_DB6
101 #define ST77XX_PARAM_D7 LCD_DB7
102 #define ST77XX_PARAM_WRX LCD_WR
103 #define ST77XX_PARAM_RDX GPIO_UNDEF
104 #define ST77XX_PARAM_DCX LCD_RS
105 #define ST77XX_PARAM_RST LCD_RESET
106 #define ST77XX_PARAM_CS GPIO_UNDEF
107 #define ST77XX_PARAM_RGB 0
108 #define ST77XX_PARAM_INVERTED 1
109 #define ST77XX_PARAM_ROTATION LCD_MADCTL_MV
110 #define ST77XX_PARAM_NUM_LINES LCD_SCREEN_WIDTH
111 #define ST77XX_PARAM_RGB_CHANNELS LCD_SCREEN_HEIGHT
112 #endif
119 #define FT5X06_PARAM_I2C_DEV I2C_DEV(0)
120 #define FT5X06_PARAM_INT_PIN GPIO7
121 #define FT5X06_PARAM_RST_PIN GPIO4
122 #define FT5X06_PARAM_XMAX LCD_SCREEN_WIDTH
123 #define FT5X06_PARAM_YMAX LCD_SCREEN_HEIGHT
124 #define FT5X06_PARAM_TYPE FT5X06_TYPE_FT6X36
125 #define FT5X06_PARAM_XYCONV (FT5X06_SWAP_XY | FT5X06_MIRROR_Y)
134 #define SDCARD_SPI_PARAM_SPI SPI_DEV(0)
135 #define SDCARD_SPI_PARAM_CS SPI0_CS0
136 #define SDCARD_SPI_PARAM_CLK SPI0_SCK
137 #define SDCARD_SPI_PARAM_MOSI SPI0_MOSI
138 #define SDCARD_SPI_PARAM_MISO SPI0_MISO
139 #define SDCARD_SPI_PARAM_POWER GPIO_UNDEF
142 /* include common board definitions as last step */
143 #include "board_common.h"
144 
145 #ifdef __cplusplus
146 extern "C" {
147 #endif
148 
149 #ifdef __cplusplus
150 } /* end extern "C" */
151 #endif
152