CK HU has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/44852 )
Change subject: soc/mediatek/mt8192: Add SPI flash controller dual read function ......................................................................
soc/mediatek/mt8192: Add SPI flash controller dual read function
Support SPI flash dual read funciton which change spi mode (1-1-1) to dual mode (1-1-2).
Signed-off-by: CK Hu ck.hu@mediatek.com Change-Id: Iabd3668fc4bc42137b7743144fc1cced4fe72737 --- M src/soc/mediatek/mt8192/flash_controller.c M src/soc/mediatek/mt8192/include/soc/flash_controller.h 2 files changed, 6 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/52/44852/1
diff --git a/src/soc/mediatek/mt8192/flash_controller.c b/src/soc/mediatek/mt8192/flash_controller.c index 0c37ae5..d1e5acb 100644 --- a/src/soc/mediatek/mt8192/flash_controller.c +++ b/src/soc/mediatek/mt8192/flash_controller.c @@ -144,6 +144,9 @@ size_t dma_buf_len = REGION_SIZE(dma_coherent); u32 next;
+ setbits8(&mt8192_nor->read_dual, SFLASH_READ_DUAL_EN); + write8(&mt8192_nor->prgdata[3], SFLASH_1_1_2_READ); + if (!IS_ALIGNED((uintptr_t)addr, SFLASH_DMA_ALIGN)) { next = MIN(ALIGN_UP((uintptr_t)addr, SFLASH_DMA_ALIGN) - (uintptr_t)addr, len); diff --git a/src/soc/mediatek/mt8192/include/soc/flash_controller.h b/src/soc/mediatek/mt8192/include/soc/flash_controller.h index 5655a9c..16e1c31 100644 --- a/src/soc/mediatek/mt8192/include/soc/flash_controller.h +++ b/src/soc/mediatek/mt8192/include/soc/flash_controller.h @@ -7,6 +7,9 @@ #include <stdint.h> #include <soc/addressmap.h>
+#define SFLASH_READ_DUAL_EN 0x1 +#define SFLASH_1_1_2_READ 0x3B + enum { SFLASH_POLLINGREG_US = 500000, SFLASH_WRBUF_SIZE = 128,
Hung-Te Lin has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44852 )
Change subject: soc/mediatek/mt8192: Add SPI flash controller dual read function ......................................................................
Patch Set 1:
(1 comment)
https://review.coreboot.org/c/coreboot/+/44852/1/src/soc/mediatek/mt8192/inc... File src/soc/mediatek/mt8192/include/soc/flash_controller.h:
https://review.coreboot.org/c/coreboot/+/44852/1/src/soc/mediatek/mt8192/inc... PS1, Line 10: #define SFLASH_READ_DUAL_EN 0x1 : #define SFLASH_1_1_2_READ 0x3B move these into enum
Hello Hung-Te Lin, build bot (Jenkins), Yu-Ping Wu,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/44852
to look at the new patch set (#2).
Change subject: soc/mediatek/mt8192: Add SPI flash controller dual read function ......................................................................
soc/mediatek/mt8192: Add SPI flash controller dual read function
Support SPI flash dual read funciton which change spi mode (1-1-1) to dual mode (1-1-2).
Signed-off-by: CK Hu ck.hu@mediatek.com Change-Id: Iabd3668fc4bc42137b7743144fc1cced4fe72737 --- M src/soc/mediatek/mt8192/flash_controller.c M src/soc/mediatek/mt8192/include/soc/flash_controller.h 2 files changed, 7 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/52/44852/2
CK HU has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44852 )
Change subject: soc/mediatek/mt8192: Add SPI flash controller dual read function ......................................................................
Patch Set 2:
(1 comment)
https://review.coreboot.org/c/coreboot/+/44852/1/src/soc/mediatek/mt8192/inc... File src/soc/mediatek/mt8192/include/soc/flash_controller.h:
https://review.coreboot.org/c/coreboot/+/44852/1/src/soc/mediatek/mt8192/inc... PS1, Line 10: #define SFLASH_READ_DUAL_EN 0x1 : #define SFLASH_1_1_2_READ 0x3B
move these into enum
Done
Hung-Te Lin has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44852 )
Change subject: soc/mediatek/mt8192: Add SPI flash controller dual read function ......................................................................
Patch Set 3: Code-Review+2
Patrick Georgi has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44852 )
Change subject: soc/mediatek/mt8192: Add SPI flash controller dual read function ......................................................................
Patch Set 4: Code-Review+2
Patrick Georgi has submitted this change. ( https://review.coreboot.org/c/coreboot/+/44852 )
Change subject: soc/mediatek/mt8192: Add SPI flash controller dual read function ......................................................................
soc/mediatek/mt8192: Add SPI flash controller dual read function
Support SPI flash dual read funciton which change spi mode (1-1-1) to dual mode (1-1-2).
Signed-off-by: CK Hu ck.hu@mediatek.com Change-Id: Iabd3668fc4bc42137b7743144fc1cced4fe72737 Reviewed-on: https://review.coreboot.org/c/coreboot/+/44852 Reviewed-by: Patrick Georgi pgeorgi@google.com Reviewed-by: Hung-Te Lin hungte@chromium.org Tested-by: build bot (Jenkins) no-reply@coreboot.org --- M src/soc/mediatek/mt8192/flash_controller.c M src/soc/mediatek/mt8192/include/soc/flash_controller.h 2 files changed, 7 insertions(+), 1 deletion(-)
Approvals: build bot (Jenkins): Verified Patrick Georgi: Looks good to me, approved Hung-Te Lin: Looks good to me, approved
diff --git a/src/soc/mediatek/mt8192/flash_controller.c b/src/soc/mediatek/mt8192/flash_controller.c index b252880..aa43af6 100644 --- a/src/soc/mediatek/mt8192/flash_controller.c +++ b/src/soc/mediatek/mt8192/flash_controller.c @@ -132,6 +132,9 @@ u32 done, read_len, copy_len; uint8_t *dest = (uint8_t *)buf;
+ setbits8(&mt8192_nor->read_dual, SFLASH_READ_DUAL_EN); + write8(&mt8192_nor->prgdata[3], SFLASH_1_1_2_READ); + /* DMA: start [ skip | len | drop ] = total end */ for (done = 0; done < total; dest += copy_len) { read_len = MIN(dma_buf_len, total - done); diff --git a/src/soc/mediatek/mt8192/include/soc/flash_controller.h b/src/soc/mediatek/mt8192/include/soc/flash_controller.h index 5655a9c..5373a87 100644 --- a/src/soc/mediatek/mt8192/include/soc/flash_controller.h +++ b/src/soc/mediatek/mt8192/include/soc/flash_controller.h @@ -29,7 +29,10 @@ /* DMA commands */ SFLASH_DMA_TRIGGER = 1 << 0, SFLASH_DMA_SW_RESET = 1 << 1, - SFLASH_DMA_WDLE_EN = 1 << 2 + SFLASH_DMA_WDLE_EN = 1 << 2, + /* Dual mode */ + SFLASH_READ_DUAL_EN = 0x1, + SFLASH_1_1_2_READ = 0x3b };
/* register Offset */