From 4c8be9b7501202706edc41331c75814f4027030d Mon Sep 17 00:00:00 2001 From: Saahil Tomar Date: Fri, 25 Feb 2022 13:06:44 +0530 Subject: [PATCH] drivers : nand : Update Serial training fixup This change fixup the magic word (0xBAD0FF5E) instead of zero. So the uboot will skip setting qcom,training_offset if the serial training partition is not present in flash. Change-Id: I0ee8c9475e1153fdbc295691ceb2a4b1d6fdd394 Signed-off-by: Saahil Tomar --- board/qca/arm/ipq5018/ipq5018.c | 16 ++++++++++------ board/qca/arm/ipq9574/ipq9574.c | 12 ++++++++---- drivers/mtd/nand/qpic_nand.c | 2 +- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/board/qca/arm/ipq5018/ipq5018.c b/board/qca/arm/ipq5018/ipq5018.c index 9202026649..a9b8ad7790 100644 --- a/board/qca/arm/ipq5018/ipq5018.c +++ b/board/qca/arm/ipq5018/ipq5018.c @@ -71,7 +71,7 @@ extern void ppe_uniphy_refclk_set(void); unsigned int qpic_frequency = 0, qpic_phase = 0; -#ifdef CONFIG_QPIC_NAND +#ifdef CONFIG_QPIC_SERIAL extern unsigned int qpic_training_offset; #endif @@ -2126,11 +2126,15 @@ void fdt_fixup_qpic(void *blob) return; } -#ifdef CONFIG_QPIC_NAND - ret = fdt_setprop_u32(blob, node_off, "qcom,training_offset", qpic_training_offset); - if (ret) { - printf("%s : Unable to set property 'qcom,training_offset'\n",__func__); - return; +#ifdef CONFIG_QPIC_SERIAL + if (qpic_training_offset != 0xBAD0FF5E){ + ret = fdt_setprop_u32(blob, node_off, "qcom,training_offset", + qpic_training_offset); + if (ret) { + printf("%s : Unable to set property 'qcom,training_offset'\n", + __func__); + return; + } } #endif } diff --git a/board/qca/arm/ipq9574/ipq9574.c b/board/qca/arm/ipq9574/ipq9574.c index 62e648d598..82712401e6 100644 --- a/board/qca/arm/ipq9574/ipq9574.c +++ b/board/qca/arm/ipq9574/ipq9574.c @@ -101,10 +101,14 @@ void fdt_fixup_qpic(void *blob) return; } - ret = fdt_setprop_u32(blob, node_off, "qcom,training_offset", qpic_training_offset); - if (ret) { - printf("%s : Unable to set property 'qcom,training_offset'\n",__func__); - return; + if (qpic_training_offset != 0xBAD0FF5E){ + ret = fdt_setprop_u32(blob, node_off, "qcom,training_offset", + qpic_training_offset); + if (ret) { + printf("%s : Unable to set property 'qcom,training_offset'\n", + __func__); + return; + } } } diff --git a/drivers/mtd/nand/qpic_nand.c b/drivers/mtd/nand/qpic_nand.c index fc36f45c35..04f18bfe39 100644 --- a/drivers/mtd/nand/qpic_nand.c +++ b/drivers/mtd/nand/qpic_nand.c @@ -47,7 +47,7 @@ struct nand_onfi_para_page onfi_para; typedef unsigned long addr_t; static uint32_t hw_ver; -unsigned int qpic_training_offset = 0; +unsigned int qpic_training_offset = 0xBAD0FF5E; #ifdef CONFIG_QSPI_LAYOUT_SWITCH enum qpic_nand_layout {