From e5d962423bda4eaeac60060567852d31535d901b Mon Sep 17 00:00:00 2001 From: Md Sadre Alam Date: Wed, 6 May 2020 22:59:50 +0530 Subject: [PATCH] board: ipq50xx: Initialize qpic nand only if rdp's has nand support. This change will add condition check based on dts property status ="okay" and status = "disabled" for qpic nand initialization. qpic_nand init will get called if and only if the corresponding dts file will set the status="okay" for nand-controoler node. if status="disabled" then qpic nand initialization will be skipped. Signed-off-by: Md Sadre Alam Change-Id: Iea3069ee7b0e54635b991e6d932ac9273b26fe0f --- arch/arm/dts/ipq5018-db-mp03.1-c2.dts | 2 +- arch/arm/dts/ipq5018-db-mp03.1.dts | 3 ++- arch/arm/dts/ipq5018-db-mp03.3-c2.dts | 2 +- arch/arm/dts/ipq5018-db-mp03.3.dts | 3 ++- arch/arm/dts/ipq5018-emulation.dts | 3 ++- arch/arm/dts/ipq5018-mp03.1-c2.dts | 2 +- arch/arm/dts/ipq5018-mp03.1.dts | 3 ++- arch/arm/dts/ipq5018-mp03.3-c2.dts | 2 +- arch/arm/dts/ipq5018-mp03.3.dts | 3 ++- board/qca/arm/ipq5018/ipq5018.c | 14 +++++++++++++- 10 files changed, 27 insertions(+), 10 deletions(-) diff --git a/arch/arm/dts/ipq5018-db-mp03.1-c2.dts b/arch/arm/dts/ipq5018-db-mp03.1-c2.dts index 51508dd340..12ae8d9828 100644 --- a/arch/arm/dts/ipq5018-db-mp03.1-c2.dts +++ b/arch/arm/dts/ipq5018-db-mp03.1-c2.dts @@ -20,7 +20,7 @@ mmc: sdhci@7804000 { compatible = "qcom,sdhci-msm"; - status = "ok"; + status = "okay"; mmc_gpio { emmc_dat3 { gpio = <4>; diff --git a/arch/arm/dts/ipq5018-db-mp03.1.dts b/arch/arm/dts/ipq5018-db-mp03.1.dts index 121adb2390..c37a7b603b 100644 --- a/arch/arm/dts/ipq5018-db-mp03.1.dts +++ b/arch/arm/dts/ipq5018-db-mp03.1.dts @@ -27,6 +27,7 @@ usb0 = "/xhci@8a00000"; pci0 = "/pci@80000000"; pci1 = "/pci@a0000000"; + nand = "/nand-controller@79B0000"; }; console: serial@78AF000 { @@ -50,7 +51,7 @@ }; nand: nand-controller@79B0000 { - status = "ok"; + status = "okay"; nand_gpio { qspi_dat3 { gpio = <4>; diff --git a/arch/arm/dts/ipq5018-db-mp03.3-c2.dts b/arch/arm/dts/ipq5018-db-mp03.3-c2.dts index c23034b66d..2451ffb2d6 100644 --- a/arch/arm/dts/ipq5018-db-mp03.3-c2.dts +++ b/arch/arm/dts/ipq5018-db-mp03.3-c2.dts @@ -20,7 +20,7 @@ mmc: sdhci@7804000 { compatible = "qcom,sdhci-msm"; - status = "ok"; + status = "okay"; mmc_gpio { emmc_dat3 { gpio = <4>; diff --git a/arch/arm/dts/ipq5018-db-mp03.3.dts b/arch/arm/dts/ipq5018-db-mp03.3.dts index 323b678c9b..75c02aa547 100644 --- a/arch/arm/dts/ipq5018-db-mp03.3.dts +++ b/arch/arm/dts/ipq5018-db-mp03.3.dts @@ -26,6 +26,7 @@ gmac_gpio = "/gmac_gpio"; usb0 = "/xhci@8a00000"; pci0 = "/pci@80000000"; + nand = "/nand-controller@79B0000"; }; console: serial@78AF000 { @@ -51,7 +52,7 @@ }; nand: nand-controller@79B0000 { - status = "ok"; + status = "okay"; nand_gpio { qspi_dat3 { gpio = <4>; diff --git a/arch/arm/dts/ipq5018-emulation.dts b/arch/arm/dts/ipq5018-emulation.dts index 9671d4f7e8..c7f3953661 100644 --- a/arch/arm/dts/ipq5018-emulation.dts +++ b/arch/arm/dts/ipq5018-emulation.dts @@ -26,6 +26,7 @@ gmac_gpio = "/gmac_gpio"; usb0 = "/xhci@8a00000"; pci0 = "/pci@80000000"; + nand = "/nand-controller@79B0000"; }; mmc: sdhci@7804000 { @@ -55,7 +56,7 @@ }; nand: nand-controller@79B0000 { - status = "ok"; + status = "okay"; nand_gpio { qspi_dat3 { gpio = <4>; diff --git a/arch/arm/dts/ipq5018-mp03.1-c2.dts b/arch/arm/dts/ipq5018-mp03.1-c2.dts index 9eee2d5869..c77894fc71 100644 --- a/arch/arm/dts/ipq5018-mp03.1-c2.dts +++ b/arch/arm/dts/ipq5018-mp03.1-c2.dts @@ -20,7 +20,7 @@ mmc: sdhci@7804000 { compatible = "qcom,sdhci-msm"; - status = "ok"; + status = "okay"; mmc_gpio { emmc_dat3 { gpio = <4>; diff --git a/arch/arm/dts/ipq5018-mp03.1.dts b/arch/arm/dts/ipq5018-mp03.1.dts index e5fcbdd65b..605ff5e574 100644 --- a/arch/arm/dts/ipq5018-mp03.1.dts +++ b/arch/arm/dts/ipq5018-mp03.1.dts @@ -27,6 +27,7 @@ usb0 = "/xhci@8a00000"; pci0 = "/pci@80000000"; pci1 = "/pci@a0000000"; + nand = "/nand-controller@79B0000"; }; console: serial@78AF000 { @@ -50,7 +51,7 @@ }; nand: nand-controller@79B0000 { - status = "ok"; + status = "okay"; nand_gpio { qspi_dat3 { gpio = <4>; diff --git a/arch/arm/dts/ipq5018-mp03.3-c2.dts b/arch/arm/dts/ipq5018-mp03.3-c2.dts index 7a03eaa405..7cef9202cf 100644 --- a/arch/arm/dts/ipq5018-mp03.3-c2.dts +++ b/arch/arm/dts/ipq5018-mp03.3-c2.dts @@ -19,7 +19,7 @@ mmc: sdhci@7804000 { compatible = "qcom,sdhci-msm"; - status = "ok"; + status = "okay"; mmc_gpio { emmc_dat3 { gpio = <4>; diff --git a/arch/arm/dts/ipq5018-mp03.3.dts b/arch/arm/dts/ipq5018-mp03.3.dts index 65fc29bc04..9f760cbd6e 100644 --- a/arch/arm/dts/ipq5018-mp03.3.dts +++ b/arch/arm/dts/ipq5018-mp03.3.dts @@ -27,6 +27,7 @@ usb0 = "/xhci@8a00000"; pci0 = "/pci@80000000"; pcie1 = "/pci@a0000000"; + nand = "/nand-controller@79B0000"; }; console: serial@78AF000 { @@ -52,7 +53,7 @@ }; nand: nand-controller@79B0000 { - status = "ok"; + status = "okay"; nand_gpio { qspi_dat3 { gpio = <4>; diff --git a/board/qca/arm/ipq5018/ipq5018.c b/board/qca/arm/ipq5018/ipq5018.c index d54fcc4c43..5483f29d3f 100644 --- a/board/qca/arm/ipq5018/ipq5018.c +++ b/board/qca/arm/ipq5018/ipq5018.c @@ -570,7 +570,19 @@ void qpic_set_clk_rate(unsigned int clk_rate, int blk_type, int req_clk_src_type void board_nand_init(void) { #ifdef CONFIG_QPIC_SERIAL - qpic_nand_init(NULL); + /* check for nand node in dts + * if nand node in dts is disabled then + * simply return from here without + * initializing + */ + int node; + + node = fdt_path_offset(gd->fdt_blob, "/nand-controller"); + if (!fdtdec_get_is_enabled(gd->fdt_blob, node)) { + printf("QPIC: disabled, skipping initialization\n"); + } else { + qpic_nand_init(NULL); + } #endif #ifdef CONFIG_QCA_SPI