1 /***************************************************************************//**
2 * \file cyip_lcd_v2.h
3 *
4 * \brief
5 * LCD IP definitions
6 *
7 ********************************************************************************
8 * \copyright
9 * (c) (2016-2023), Cypress Semiconductor Corporation (an Infineon company) or
10 * an affiliate of Cypress Semiconductor Corporation.
11 *
12 * SPDX-License-Identifier: Apache-2.0
13 *
14 * Licensed under the Apache License, Version 2.0 (the "License");
15 * you may not use this file except in compliance with the License.
16 * You may obtain a copy of the License at
17 *
18 *     http://www.apache.org/licenses/LICENSE-2.0
19 *
20 * Unless required by applicable law or agreed to in writing, software
21 * distributed under the License is distributed on an "AS IS" BASIS,
22 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23 * See the License for the specific language governing permissions and
24 * limitations under the License.
25 *******************************************************************************/
26 
27 #ifndef _CYIP_LCD_V2_H_
28 #define _CYIP_LCD_V2_H_
29 
30 #include "cyip_headers.h"
31 
32 /*******************************************************************************
33 *                                     LCD
34 *******************************************************************************/
35 
36 #define LCD_V2_SECTION_SIZE                     0x00010000UL
37 
38 /**
39   * \brief LCD Controller Block (LCD)
40   */
41 typedef struct {
42    __IM uint32_t ID;                            /*!< 0x00000000 ID & Revision */
43   __IOM uint32_t DIVIDER;                       /*!< 0x00000004 LCD Divider Register */
44   __IOM uint32_t CONTROL;                       /*!< 0x00000008 LCD Configuration Register */
45    __IM uint32_t RESERVED[61];
46   __IOM uint32_t DATA0[8];                      /*!< 0x00000100 LCD Pin Data Registers */
47    __IM uint32_t RESERVED1[56];
48   __IOM uint32_t DATA1[8];                      /*!< 0x00000200 LCD Pin Data Registers */
49    __IM uint32_t RESERVED2[56];
50   __IOM uint32_t DATA2[8];                      /*!< 0x00000300 LCD Pin Data Registers */
51    __IM uint32_t RESERVED3[56];
52   __IOM uint32_t DATA3[8];                      /*!< 0x00000400 LCD Pin Data Registers */
53 } LCD_V2_Type;                                  /*!< Size = 1056 (0x420) */
54 
55 
56 /* LCD.ID */
57 #define LCD_V2_ID_ID_Pos                        0UL
58 #define LCD_V2_ID_ID_Msk                        0xFFFFUL
59 #define LCD_V2_ID_REVISION_Pos                  16UL
60 #define LCD_V2_ID_REVISION_Msk                  0xFFFF0000UL
61 /* LCD.DIVIDER */
62 #define LCD_V2_DIVIDER_SUBFR_DIV_Pos            0UL
63 #define LCD_V2_DIVIDER_SUBFR_DIV_Msk            0xFFFFUL
64 #define LCD_V2_DIVIDER_DEAD_DIV_Pos             16UL
65 #define LCD_V2_DIVIDER_DEAD_DIV_Msk             0xFFFF0000UL
66 /* LCD.CONTROL */
67 #define LCD_V2_CONTROL_LS_EN_Pos                0UL
68 #define LCD_V2_CONTROL_LS_EN_Msk                0x1UL
69 #define LCD_V2_CONTROL_HS_EN_Pos                1UL
70 #define LCD_V2_CONTROL_HS_EN_Msk                0x2UL
71 #define LCD_V2_CONTROL_LCD_MODE_Pos             2UL
72 #define LCD_V2_CONTROL_LCD_MODE_Msk             0x4UL
73 #define LCD_V2_CONTROL_TYPE_Pos                 3UL
74 #define LCD_V2_CONTROL_TYPE_Msk                 0x8UL
75 #define LCD_V2_CONTROL_OP_MODE_Pos              4UL
76 #define LCD_V2_CONTROL_OP_MODE_Msk              0x10UL
77 #define LCD_V2_CONTROL_BIAS_Pos                 5UL
78 #define LCD_V2_CONTROL_BIAS_Msk                 0x60UL
79 #define LCD_V2_CONTROL_CLOCK_LS_SEL_Pos         7UL
80 #define LCD_V2_CONTROL_CLOCK_LS_SEL_Msk         0x80UL
81 #define LCD_V2_CONTROL_COM_NUM_Pos              8UL
82 #define LCD_V2_CONTROL_COM_NUM_Msk              0xF00UL
83 #define LCD_V2_CONTROL_LS_EN_STAT_Pos           31UL
84 #define LCD_V2_CONTROL_LS_EN_STAT_Msk           0x80000000UL
85 /* LCD.DATA0 */
86 #define LCD_V2_DATA0_DATA_Pos                   0UL
87 #define LCD_V2_DATA0_DATA_Msk                   0xFFFFFFFFUL
88 /* LCD.DATA1 */
89 #define LCD_V2_DATA1_DATA_Pos                   0UL
90 #define LCD_V2_DATA1_DATA_Msk                   0xFFFFFFFFUL
91 /* LCD.DATA2 */
92 #define LCD_V2_DATA2_DATA_Pos                   0UL
93 #define LCD_V2_DATA2_DATA_Msk                   0xFFFFFFFFUL
94 /* LCD.DATA3 */
95 #define LCD_V2_DATA3_DATA_Pos                   0UL
96 #define LCD_V2_DATA3_DATA_Msk                   0xFFFFFFFFUL
97 
98 
99 #endif /* _CYIP_LCD_V2_H_ */
100 
101 
102 /* [] END OF FILE */
103