Skip to content

Commit 847ac1a

Browse files
committed
Merge branch 'feat/unilc_psram_s3' into 'master'
psram: supported UnilC octal psram on s3 See merge request espressif/esp-idf!37714
2 parents 54d7bec + 1a8c556 commit 847ac1a

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

components/esp_psram/esp32s3/esp_psram_impl_octal.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2019-2024 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2019-2025 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -34,7 +34,8 @@
3434
#define OCT_PSRAM_RD_REG_DUMMY_BITLEN (2*(5-1))
3535
#define OCT_PSRAM_WR_DUMMY_BITLEN (2*(5-1))
3636
#define OCT_PSRAM_CS1_IO MSPI_IOMUX_PIN_NUM_CS1
37-
#define OCT_PSRAM_VENDOR_ID 0xD
37+
#define OCT_PSRAM_VENDOR_ID_AP 0xD
38+
#define OCT_PSRAM_VENDOR_ID_UNILC 0x1A
3839

3940
#define OCT_PSRAM_CS_SETUP_TIME 3
4041
#define OCT_PSRAM_CS_HOLD_TIME 3
@@ -223,7 +224,7 @@ static void s_get_psram_mode_reg(int spi_num, opi_psram_mode_reg_t *out_reg)
223224

224225
static void s_print_psram_info(opi_psram_mode_reg_t *reg_val)
225226
{
226-
ESP_EARLY_LOGI(TAG, "vendor id : 0x%02x (%s)", reg_val->mr1.vendor_id, reg_val->mr1.vendor_id == 0x0d ? "AP" : "UNKNOWN");
227+
ESP_EARLY_LOGI(TAG, "vendor id : 0x%02x (%s)", reg_val->mr1.vendor_id, reg_val->mr1.vendor_id == 0x0d ? "AP" : (reg_val->mr1.vendor_id == 0x1a ? "UnilC" : "UNKNOWN"));
227228
ESP_EARLY_LOGI(TAG, "dev id : 0x%02x (generation %d)", reg_val->mr2.dev_id, reg_val->mr2.dev_id + 1);
228229
ESP_EARLY_LOGI(TAG, "density : 0x%02x (%d Mbit)", reg_val->mr2.density, reg_val->mr2.density == 0x1 ? 32 :
229230
reg_val->mr2.density == 0X3 ? 64 :
@@ -317,7 +318,7 @@ esp_err_t esp_psram_impl_enable(void)
317318
s_init_psram_mode_reg(1, &mode_reg);
318319
//Print PSRAM info
319320
s_get_psram_mode_reg(1, &mode_reg);
320-
if (mode_reg.mr1.vendor_id != OCT_PSRAM_VENDOR_ID) {
321+
if (mode_reg.mr1.vendor_id != OCT_PSRAM_VENDOR_ID_AP && mode_reg.mr1.vendor_id != OCT_PSRAM_VENDOR_ID_UNILC) {
321322
ESP_EARLY_LOGE(TAG, "PSRAM ID read error: 0x%08x, PSRAM chip not found or not supported, or wrong PSRAM line mode", mode_reg.mr1.vendor_id);
322323
return ESP_ERR_NOT_SUPPORTED;
323324
}

0 commit comments

Comments
 (0)