Skip to content

Commit

Permalink
Merge branch 'bugfix/mod_mipi_lane_bitrate' into 'master'
Browse files Browse the repository at this point in the history
bugfix(lcd): Fixed low Lane bit rate and other known issues.

See merge request ae_group/esp-iot-solution!1135
  • Loading branch information
Horion0415 committed Nov 11, 2024
2 parents 203d266 + 6e592cf commit f265f15
Show file tree
Hide file tree
Showing 28 changed files with 80 additions and 35 deletions.
2 changes: 1 addition & 1 deletion .gitlab/ci/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -698,9 +698,9 @@ build_example_usb_device_usb_lcd_display:
extends:
- .build_examples_template
- .rules:build:example_usb_device_usb_lcd_display
- .build_idf_version_greater_equal_v5_0
variables:
EXAMPLE_DIR: examples/usb/device/usb_lcd_display
IMAGE: espressif/idf:release-v5.3

build_example_usb_device_usb_msc_wireless_disk:
extends:
Expand Down
2 changes: 1 addition & 1 deletion .gitlab/ci/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ pack-upload_files:
- job: "build_example_usb_device_usb_dual_uvc_device: [espressif/idf:release-v5.3]"
- job: "build_example_usb_device_usb_extend_screen"
- job: "build_example_usb_device_usb_hid_device: [espressif/idf:release-v5.0]"
- job: "build_example_usb_device_usb_lcd_display: [espressif/idf:release-v5.3]"
- job: "build_example_usb_device_usb_lcd_display"
- job: "build_example_usb_device_usb_msc_wireless_disk: [espressif/idf:release-v5.0]"
- job: "build_example_usb_device_usb_surface_dial: [espressif/idf:release-v5.0]"
- job: "build_example_usb_device_usb_uac: [espressif/idf:release-v5.3]"
Expand Down
6 changes: 6 additions & 0 deletions components/display/lcd/esp_lcd_ek79007/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# ChangeLog

## v1.0.1 - 2024-11-10

### bugfix:

* Decreased the default Lane bit rate value

## v1.0.0 - 2024-08-12

### Enhancements:
Expand Down
2 changes: 1 addition & 1 deletion components/display/lcd/esp_lcd_ek79007/esp_lcd_ek79007.c
Original file line number Diff line number Diff line change
Expand Up @@ -196,8 +196,8 @@ static esp_err_t panel_ek79007_del(esp_lcd_panel_t *panel)
}
// Delete MIPI DPI panel
ek79007->del(panel);
free(ek79007);
ESP_LOGD(TAG, "del ek79007 panel @%p", ek79007);
free(ek79007);

return ESP_OK;
}
Expand Down
2 changes: 1 addition & 1 deletion components/display/lcd/esp_lcd_ek79007/idf_component.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: "1.0.0"
version: "1.0.1"
targets:
- esp32p4
description: ESP LCD EK79007(MIPI-DSI)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ esp_err_t esp_lcd_new_panel_ek79007(const esp_lcd_panel_io_handle_t io, const es
.bus_id = 0, \
.num_data_lanes = 2, \
.phy_clk_src = MIPI_DSI_PHY_CLK_SRC_DEFAULT, \
.lane_bit_rate_mbps = 1000, \
.lane_bit_rate_mbps = 900, \
}

/**
Expand Down
6 changes: 6 additions & 0 deletions components/display/lcd/esp_lcd_hx8399/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# ChangeLog

## v1.0.1 - 2024-11-10

### bugfix:

* Modified the known issues with the del interface

## v1.0.0 - 2024-06-14

### Enhancements:
Expand Down
2 changes: 1 addition & 1 deletion components/display/lcd/esp_lcd_hx8399/esp_lcd_hx8399.c
Original file line number Diff line number Diff line change
Expand Up @@ -167,8 +167,8 @@ static esp_err_t panel_hx8399_del(esp_lcd_panel_t *panel)
}
// Delete MIPI DPI panel
hx8399->del(panel);
free(hx8399);
ESP_LOGD(TAG, "del hx8399 panel @%p", hx8399);
free(hx8399);

return ESP_OK;
}
Expand Down
2 changes: 1 addition & 1 deletion components/display/lcd/esp_lcd_hx8399/idf_component.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: "1.0.0"
version: "1.0.1"
targets:
- esp32p4
description: ESP LCD HX8399 (MIPI-DSI)
Expand Down
6 changes: 6 additions & 0 deletions components/display/lcd/esp_lcd_jd9165/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# ChangeLog

## v1.0.1 - 2024-11-10

### bugfix:

* Modified the order of reading the ID register

## v1.0.0 - 2024-08-12

### Enhancements:
Expand Down
9 changes: 4 additions & 5 deletions components/display/lcd/esp_lcd_jd9165/esp_lcd_jd9165.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,6 @@ esp_err_t esp_lcd_new_panel_jd9165(const esp_lcd_panel_io_handle_t io, const esp
break;
}

uint8_t ID[3];
ESP_GOTO_ON_ERROR(esp_lcd_panel_io_rx_param(io, 0x04, ID, 3), err, TAG, "read ID failed");
ESP_LOGI(TAG, "LCD ID: %02X %02X %02X", ID[0], ID[1], ID[2]);

jd9165->io = io;
jd9165->init_cmds = vendor_config->init_cmds;
jd9165->init_cmds_size = vendor_config->init_cmds_size;
Expand Down Expand Up @@ -137,8 +133,8 @@ static esp_err_t panel_jd9165_del(esp_lcd_panel_t *panel)
}
// Delete MIPI DPI panel
jd9165->del(panel);
free(jd9165);
ESP_LOGD(TAG, "del jd9165 panel @%p", jd9165);
free(jd9165);

return ESP_OK;
}
Expand All @@ -151,6 +147,9 @@ static esp_err_t panel_jd9165_init(esp_lcd_panel_t *panel)
uint16_t init_cmds_size = 0;
bool is_cmd_overwritten = false;

uint8_t ID[3];
ESP_RETURN_ON_ERROR(esp_lcd_panel_io_rx_param(io, 0x04, ID, 3), TAG, "read ID failed");

ESP_RETURN_ON_ERROR(esp_lcd_panel_io_tx_param(io, LCD_CMD_MADCTL, (uint8_t[]) {
jd9165->madctl_val,
}, 1), TAG, "send command failed");
Expand Down
2 changes: 1 addition & 1 deletion components/display/lcd/esp_lcd_jd9165/idf_component.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: "1.0.0"
version: "1.0.1"
targets:
- esp32p4
description: ESP LCD JD9165 (MIPI-DSI)
Expand Down
6 changes: 6 additions & 0 deletions components/display/lcd/esp_lcd_jd9365/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# ChangeLog

## v1.0.1 - 2024-11-10

### bugfix:

* Modified the order of reading the ID register

## v1.0.0 - 2024-08-12

### Enhancements:
Expand Down
10 changes: 5 additions & 5 deletions components/display/lcd/esp_lcd_jd9365/esp_lcd_jd9365.c
Original file line number Diff line number Diff line change
Expand Up @@ -105,10 +105,6 @@ esp_err_t esp_lcd_new_panel_jd9365(const esp_lcd_panel_io_handle_t io, const esp
break;
}

uint8_t ID[3];
ESP_GOTO_ON_ERROR(esp_lcd_panel_io_rx_param(io, 0x04, ID, 3), err, TAG, "read ID failed");
ESP_LOGI(TAG, "LCD ID: %02X %02X %02X", ID[0], ID[1], ID[2]);

jd9365->io = io;
jd9365->init_cmds = vendor_config->init_cmds;
jd9365->init_cmds_size = vendor_config->init_cmds_size;
Expand Down Expand Up @@ -347,8 +343,8 @@ static esp_err_t panel_jd9365_del(esp_lcd_panel_t *panel)
}
// Delete MIPI DPI panel
jd9365->del(panel);
free(jd9365);
ESP_LOGD(TAG, "del jd9365 panel @%p", jd9365);
free(jd9365);

return ESP_OK;
}
Expand Down Expand Up @@ -384,6 +380,10 @@ static esp_err_t panel_jd9365_init(esp_lcd_panel_t *panel)
return ESP_ERR_INVALID_ARG;
}

uint8_t ID[3];
ESP_RETURN_ON_ERROR(esp_lcd_panel_io_rx_param(io, 0x04, ID, 3), TAG, "read ID failed");
ESP_LOGI(TAG, "LCD ID: %02X %02X %02X", ID[0], ID[1], ID[2]);

ESP_RETURN_ON_ERROR(esp_lcd_panel_io_tx_param(io, JD9365_CMD_PAGE, (uint8_t[]) {
JD9365_PAGE_USER
}, 1), TAG, "send command failed");
Expand Down
2 changes: 1 addition & 1 deletion components/display/lcd/esp_lcd_jd9365/idf_component.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: "1.0.0"
version: "1.0.1"
targets:
- esp32p4
description: ESP LCD JD9365(MIPI-DSI)
Expand Down
6 changes: 6 additions & 0 deletions components/display/lcd/esp_lcd_st7701/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# ChangeLog

## v1.1.1 - 2024-11-10

### bugfix:

* Modified the order of reading the ID register

## v1.1.0 - 2024-05-06

### Enhancements:
Expand Down
10 changes: 5 additions & 5 deletions components/display/lcd/esp_lcd_st7701/esp_lcd_st7701_mipi.c
Original file line number Diff line number Diff line change
Expand Up @@ -92,10 +92,6 @@ esp_err_t esp_lcd_new_panel_st7701_mipi(const esp_lcd_panel_io_handle_t io, cons
break;
}

uint8_t ID[3];
ESP_GOTO_ON_ERROR(esp_lcd_panel_io_rx_param(io, 0x04, ID, 3), err, TAG, "read ID failed");
ESP_LOGI(TAG, "LCD ID: %02X %02X %02X", ID[0], ID[1], ID[2]);

st7701->io = io;
st7701->init_cmds = vendor_config->init_cmds;
st7701->init_cmds_size = vendor_config->init_cmds_size;
Expand Down Expand Up @@ -143,8 +139,8 @@ static esp_err_t panel_st7701_del(esp_lcd_panel_t *panel)

// Delete MIPI DPI panel
st7701->del(panel);
free(st7701);
ESP_LOGD(TAG, "del st7701 panel @%p", st7701);
free(st7701);

return ESP_OK;
}
Expand Down Expand Up @@ -224,6 +220,10 @@ static esp_err_t panel_st7701_init(esp_lcd_panel_t *panel)
bool is_command2_disable = true;
bool is_cmd_overwritten = false;

uint8_t ID[3];
ESP_RETURN_ON_ERROR(esp_lcd_panel_io_rx_param(io, 0x04, ID, 3), TAG, "read ID failed");
ESP_LOGI(TAG, "LCD ID: %02X %02X %02X", ID[0], ID[1], ID[2]);

// back to CMD_Page 0
ESP_RETURN_ON_ERROR(esp_lcd_panel_io_tx_param(io, ST7701_CMD_CND2BKxSEL, (uint8_t []) {
ST7701_CMD_BKxSEL_BYTE0, ST7701_CMD_BKxSEL_BYTE1, ST7701_CMD_BKxSEL_BYTE2, ST7701_CMD_BKxSEL_BYTE3, 0x00
Expand Down
2 changes: 1 addition & 1 deletion components/display/lcd/esp_lcd_st7701/idf_component.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: "1.1.0"
version: "1.1.1"
targets:
- esp32s3
- esp32p4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ esp_err_t esp_lcd_new_panel_st7701(const esp_lcd_panel_io_handle_t io, const esp
.bus_id = 0, \
.num_data_lanes = 2, \
.phy_clk_src = MIPI_DSI_PHY_CLK_SRC_DEFAULT, \
.lane_bit_rate_mbps = 400, \
.lane_bit_rate_mbps = 500, \
}

/**
Expand Down
6 changes: 6 additions & 0 deletions components/display/lcd/esp_lcd_st7703/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# ChangeLog

## v1.0.1 - 2024-11-10

### bugfix:

* Modified the order of reading the ID register

## v1.0.0 - 2024-08-12

### Enhancements:
Expand Down
10 changes: 5 additions & 5 deletions components/display/lcd/esp_lcd_st7703/esp_lcd_st7703.c
Original file line number Diff line number Diff line change
Expand Up @@ -92,10 +92,6 @@ esp_err_t esp_lcd_new_panel_st7703(const esp_lcd_panel_io_handle_t io, const esp
break;
}

uint8_t ID[3];
ESP_GOTO_ON_ERROR(esp_lcd_panel_io_rx_param(io, 0x04, ID, 3), err, TAG, "read ID failed");
ESP_LOGI(TAG, "LCD ID: %02X %02X %02X", ID[0], ID[1], ID[2]);

st7703->io = io;
st7703->init_cmds = vendor_config->init_cmds;
st7703->init_cmds_size = vendor_config->init_cmds_size;
Expand Down Expand Up @@ -171,8 +167,8 @@ static esp_err_t panel_st7703_del(esp_lcd_panel_t *panel)
}
// Delete MIPI DPI panel
st7703->del(panel);
free(st7703);
ESP_LOGD(TAG, "del st7703 panel @%p", st7703);
free(st7703);

return ESP_OK;
}
Expand All @@ -187,6 +183,10 @@ static esp_err_t panel_st7703_init(esp_lcd_panel_t *panel)

ESP_RETURN_ON_ERROR(st7703->init(panel), TAG, "init MIPI DPI panel failed");

uint8_t ID[3];
ESP_RETURN_ON_ERROR(esp_lcd_panel_io_rx_param(io, 0x04, ID, 3), TAG, "read ID failed");
ESP_LOGI(TAG, "LCD ID: %02X %02X %02X", ID[0], ID[1], ID[2]);

ESP_RETURN_ON_ERROR(esp_lcd_panel_io_tx_param(io, LCD_CMD_MADCTL, (uint8_t[]) {
st7703->madctl_val,
}, 1), TAG, "send command failed");
Expand Down
2 changes: 1 addition & 1 deletion components/display/lcd/esp_lcd_st7703/idf_component.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: "1.0.0"
version: "1.0.1"
targets:
- esp32p4
description: ESP LCD ST7703(MIPI-DSI)
Expand Down
6 changes: 6 additions & 0 deletions components/display/lcd/esp_lcd_st77922/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# ChangeLog

## v1.0.2 - 2024-11-10

### bugfix:

* Increased the default Lane bit rate value

## v1.0.1 - 2024-11-7

* Fix default initialization parameters and front-back window parameters.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -209,8 +209,8 @@ static esp_err_t panel_st77922_del(esp_lcd_panel_t *panel)
}
// Delete MIPI DPI panel
st77922->del(panel);
free(st77922);
ESP_LOGD(TAG, "del st77922 panel @%p", st77922);
free(st77922);

return ESP_OK;
}
Expand Down
2 changes: 1 addition & 1 deletion components/display/lcd/esp_lcd_st77922/idf_component.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: "1.0.1"
version: "1.0.2"
description: ESP LCD ST77922(SPI & QSPI & RGB & MIPI-DSI)
url: https://github.com/espressif/esp-iot-solution/tree/master/components/display/lcd/esp_lcd_st77922
repository: https://github.com/espressif/esp-iot-solution.git
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ esp_err_t esp_lcd_new_panel_st77922(const esp_lcd_panel_io_handle_t io, const es
.bus_id = 0, \
.num_data_lanes = 1, \
.phy_clk_src = MIPI_DSI_PHY_CLK_SRC_DEFAULT, \
.lane_bit_rate_mbps = 300, \
.lane_bit_rate_mbps = 500, \
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ url: https://github.com/espressif/esp-iot-solution/tree/master/components/displa
repository: https://github.com/espressif/esp-iot-solution.git
issues: https://github.com/espressif/esp-iot-solution/issues
dependencies:
idf: ">=5.3"
cmake_utilities: "0.*"
espressif/usb_device_uvc:
version: "1.1.*"
Expand Down
3 changes: 3 additions & 0 deletions examples/usb/device/usb_lcd_display/main/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
idf_component_register(SRCS "main.c" INCLUDE_DIRS ".")

idf_component_get_property(lvgl_lib lvgl__lvgl COMPONENT_LIB)
target_compile_options(${lvgl_lib} PRIVATE -Wno-attributes)

0 comments on commit f265f15

Please sign in to comment.