1414#include "lvgl_touch/tp_spi.h"
1515
1616#include "lvgl_spi_conf.h"
17- #include "lvgl_i2c_conf.h"
1817
19- #include "driver/i2c .h"
18+ #include "lvgl_i2c/i2c_manager .h"
2019
2120#ifdef LV_LVGL_H_INCLUDE_SIMPLE
2221#include "lvgl.h"
@@ -68,7 +67,7 @@ void lvgl_driver_init(void)
6867 DISP_SPI_MISO , DISP_SPI_MOSI , DISP_SPI_CLK ,
6968 SPI_BUS_MAX_TRANSFER_SZ , 1 ,
7069 DISP_SPI_IO2 , DISP_SPI_IO3 );
71-
70+
7271 disp_spi_add_device (TFT_SPI_HOST );
7372 disp_driver_init ();
7473
@@ -86,48 +85,29 @@ void lvgl_driver_init(void)
8685 TP_SPI_MISO , DISP_SPI_MOSI , DISP_SPI_CLK ,
8786 SPI_BUS_MAX_TRANSFER_SZ , 1 ,
8887 -1 , -1 );
89-
88+
9089 disp_spi_add_device (TFT_SPI_HOST );
9190 tp_spi_add_device (TOUCH_SPI_HOST );
92-
93- disp_driver_init ();
94- touch_driver_init ();
9591
96- return ;
97- #endif
98-
99- #if defined (SHARED_I2C_BUS )
100- ESP_LOGI (TAG , "Initializing shared I2C master" );
101-
102- lvgl_i2c_driver_init (DISP_I2C_PORT ,
103- DISP_I2C_SDA , DISP_I2C_SCL ,
104- DISP_I2C_SPEED_HZ );
105-
10692 disp_driver_init ();
10793 touch_driver_init ();
108-
94+
10995 return ;
11096#endif
11197
11298/* Display controller initialization */
11399#if defined CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI
114100 ESP_LOGI (TAG , "Initializing SPI master for display" );
115-
101+
116102 lvgl_spi_driver_init (TFT_SPI_HOST ,
117103 DISP_SPI_MISO , DISP_SPI_MOSI , DISP_SPI_CLK ,
118104 SPI_BUS_MAX_TRANSFER_SZ , 1 ,
119105 DISP_SPI_IO2 , DISP_SPI_IO3 );
120-
106+
121107 disp_spi_add_device (TFT_SPI_HOST );
122-
108+
123109 disp_driver_init ();
124- #elif defined (CONFIG_LV_TFT_DISPLAY_PROTOCOL_I2C )
125- ESP_LOGI (TAG , "Initializing I2C master for display" );
126- /* Init the i2c master on the display driver code */
127- lvgl_i2c_driver_init (DISP_I2C_PORT ,
128- DISP_I2C_SDA , DISP_I2C_SCL ,
129- DISP_I2C_SPEED_HZ );
130-
110+ #elif defined (CONFIG_LV_I2C_DISPLAY )
131111 disp_driver_init ();
132112#else
133113#error "No protocol defined for display controller"
@@ -137,22 +117,16 @@ void lvgl_driver_init(void)
137117#if CONFIG_LV_TOUCH_CONTROLLER != TOUCH_CONTROLLER_NONE
138118 #if defined (CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI )
139119 ESP_LOGI (TAG , "Initializing SPI master for touch" );
140-
120+
141121 lvgl_spi_driver_init (TOUCH_SPI_HOST ,
142122 TP_SPI_MISO , TP_SPI_MOSI , TP_SPI_CLK ,
143123 0 /* Defaults to 4094 */ , 2 ,
144124 -1 , -1 );
145-
125+
146126 tp_spi_add_device (TOUCH_SPI_HOST );
147-
127+
148128 touch_driver_init ();
149- #elif defined (CONFIG_LV_TOUCH_DRIVER_PROTOCOL_I2C )
150- ESP_LOGI (TAG , "Initializing I2C master for touch" );
151-
152- lvgl_i2c_driver_init (TOUCH_I2C_PORT ,
153- TOUCH_I2C_SDA , TOUCH_I2C_SCL ,
154- TOUCH_I2C_SPEED_HZ );
155-
129+ #elif defined (CONFIG_LV_I2C_TOUCH )
156130 touch_driver_init ();
157131 #elif defined (CONFIG_LV_TOUCH_DRIVER_ADC )
158132 touch_driver_init ();
@@ -165,42 +139,6 @@ void lvgl_driver_init(void)
165139#endif
166140}
167141
168- /* Config the i2c master
169- *
170- * This should init the i2c master to be used on display and touch controllers.
171- * So we should be able to know if the display and touch controllers shares the
172- * same i2c master.
173- */
174- bool lvgl_i2c_driver_init (int port , int sda_pin , int scl_pin , int speed_hz )
175- {
176- esp_err_t err ;
177-
178- ESP_LOGI (TAG , "Initializing I2C master port %d..." , port );
179- ESP_LOGI (TAG , "SDA pin: %d, SCL pin: %d, Speed: %d (Hz)" ,
180- sda_pin , scl_pin , speed_hz );
181-
182- i2c_config_t conf = {
183- .mode = I2C_MODE_MASTER ,
184- .sda_io_num = sda_pin ,
185- .sda_pullup_en = GPIO_PULLUP_ENABLE ,
186- .scl_io_num = scl_pin ,
187- .scl_pullup_en = GPIO_PULLUP_ENABLE ,
188- .master .clk_speed = speed_hz ,
189- };
190-
191- ESP_LOGI (TAG , "Setting I2C master configuration..." );
192- err = i2c_param_config (port , & conf );
193- assert (ESP_OK == err );
194-
195- ESP_LOGI (TAG , "Installing I2C master driver..." );
196- err = i2c_driver_install (port ,
197- I2C_MODE_MASTER ,
198- 0 , 0 /*I2C_MASTER_RX_BUF_DISABLE, I2C_MASTER_TX_BUF_DISABLE */ ,
199- 0 /* intr_alloc_flags */ );
200- assert (ESP_OK == err );
201-
202- return ESP_OK != err ;
203- }
204142
205143/* Initialize spi bus master
206144 *
0 commit comments